Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-05-17 | render/gles2: implement texture_from_buffer | Simon Ser | |
Make it so wlr_gles2_texture is ref'counted (via wlr_buffer). This is similar to wlr_gles2_buffer or wlr_drm_fb work. When creating a wlr_texture from a wlr_buffer, first check if we already have a texture for the buffer. If so, increase the wlr_buffer ref'count and make sure any changes made by an external process are made visible (by invalidating the texture). When destroying a wlr_texture created from a wlr_buffer, decrease the ref'count, but keep the wlr_texture around in case the caller uses it again. When the wlr_buffer is destroyed, cleanup the wlr_texture. | |||
2021-05-17 | render: introduce wlr_texture_from_buffer | Simon Ser | |
This adds a a function to create a wlr_texture from a wlr_buffer. The main motivation for this is to allow the renderer to create a single wlr_texture per wlr_buffer. This can avoid needless imports by re-using existing textures. | |||
2021-05-05 | render: add DRM dumb buffer allocator | Simon Zeni | |
2021-05-05 | render/gbm_allocator: duplicate drm fd during creation process | Simon Zeni | |
2021-04-29 | render/allocator: add allocator_autocreate_with_drm_fd | Simon Ser | |
Same as wlr_allocator_autocreate, but allows the caller to force a DRM FD. Similar to renderer_autocreate_with_drm_fd. | |||
2021-04-29 | render: remove wlr_ prefix from wlr_renderer_autocreate_with_drm_fd | Simon Ser | |
This function is only required because the DRM backend still needs to perform multi-GPU magic under-the-hood. Remove the wlr_ prefix to make it clear it's not a candidate for being made public. | |||
2021-04-28 | render/allocator: introduce wlr_allocator_autocreate | Simon Zeni | |
2021-04-28 | render: introduce renderer_get_render_buffer_caps | Simon Zeni | |
2021-04-28 | render/shm_allocator: make wlr_shm_allocator_create return a wlr_allocator | Simon Zeni | |
2021-04-28 | render/gbm_allocator: make wlr_gbm_allocator_create return a wlr_allocator | Simon Zeni | |
2021-04-27 | render/pixman: implement preferred_read_format | Simon Zeni | |
2021-04-22 | render/pixman: destroy textures on renderer teardown | Simon Ser | |
2021-04-22 | render/gles2: destroy textures on renderer teardown | Simon Ser | |
2021-04-17 | render: introduce pixman renderer | Simon Zeni | |
2021-04-17 | render: introduce shared memory allocator | Simon Ser | |
It allocates in local main memory via shm_open, and provides a FD to allow sharing with other processes. This is suitable for software rendering under the Wayland and X11 backends. | |||
2021-04-15 | render: rename get_dmabuf_render_formats into get_render_formats | Simon Zeni | |
2021-04-08 | render: drop support for ellipses | Simon Ser | |
For anything more complicated than quads, compositors can easily ship their own shaders. Closes: https://github.com/swaywm/wlroots/issues/2759 | |||
2021-03-25 | render/gles2: remove depth and bpp gles2_pixel_format, use drm pixel format | Simon Zeni | |
2021-03-25 | Move render/shm_format functions to render/pixel_format | Simon Zeni | |
2021-03-25 | render/pixel_format: introduce pixel format info table | Simon Zeni | |
2021-03-10 | output: improve transform matrix calculation | Simon Zeni | |
Compute only the transform matrix in the output. The projection matrix will be calculated inside the gles2 renderer when we start rendering. The goal is to help the pixman rendering process. | |||
2021-02-23 | render: use DRM formats in wlr_texture_from_pixels | Simon Ser | |
2021-02-23 | render: use DRM formats in wlr_renderer_get_shm_texture_formats | Simon Ser | |
2021-02-23 | render/gles2: replace wlr_gles2_texture.wl_format with drm_format | Simon Ser | |
2021-02-23 | render/gles2: convert format table to DRM formats | Simon Ser | |
2021-02-23 | render/shm_format: add wl_shm_format conversion helpers | Simon Ser | |
2021-01-16 | render: introduce private wlr_renderer_autocreate_with_drm_fd | Simon Ser | |
2021-01-15 | render/gbm_allocator: fix gbm_device use-after-free | Simon Ser | |
We need to destroy any gbm_bo we've created before gbm_device_destroy. Closes: https://github.com/swaywm/wlroots/issues/2601 | |||
2021-01-15 | render/gbm_allocator: document that DRM primary FDs work | Simon Ser | |
2021-01-14 | render: document wlr_renderer_bind_buffer | Simon Ser | |
2020-12-18 | render/drm_format_set: add wlr_drm_format_{create,add} | Simon Ser | |
2020-12-03 | render/drm_format_set: introduce wlr_drm_format_intersect | Simon Ser | |
Intersects modifiers from two wlr_drm_format structs. If either format doesn't support modifiers, the resulting format won't support modifiers. | |||
2020-11-30 | render: introduce wlr_renderer_get_dmabuf_render_formats | Simon Ser | |
It describes which DMA-BUF formats can be used to render. | |||
2020-11-15 | render: introduce wlr_renderer_get_drm_fd | Simon Ser | |
2020-11-15 | render/swapchain: add support for buffer age | Simon Ser | |
2020-11-15 | render/gles2: implement wlr_renderer_bind_buffer | Simon Ser | |
2020-11-15 | render: introduce wlr_renderer_bind_buffer | Simon Ser | |
2020-11-15 | render: introduce wlr_swapchain | Simon Ser | |
The swapchain maximum capacity is set to 4, so that we have enough room for: - A buffer currently displayed on screen - A buffer queued for display (e.g. to KMS) - A pending buffer that'll be queued next commit - An additional pending buffer in case we want to invalidate the currently pending one | |||
2020-11-15 | render/drm_format_set: introduce wlr_drm_format_dup | Simon Ser | |
2020-11-15 | render: introduce wlr_gbm_allocator | Simon Ser | |
2020-11-15 | render: introduce wlr_allocator | Simon Ser | |
2020-07-28 | render/gles2: remove gles2_procs | Simon Ser | |
Move the global into wlr_gles2_renderer. This removes global state and allows us to have multiple renderers with different GL loaders. | |||
2020-07-28 | render/gles2: make push/pop debug functions take a wlr_renderer | Simon Ser | |
2020-07-28 | render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_texture | Simon Ser | |
2020-07-28 | render/gles2: make wlr_gles2_texture_from_* private | Simon Ser | |
These functions are unused by compositors (see e.g. [1]) and prevent wlr_gles2_texture from accessing wlr_gles2_renderer state. This is an issue for proper teardown [2] and for accessing GLES2 extensions. [1]: https://github.com/swaywm/wlroots/pull/1962#issuecomment-569511830 [2]: https://github.com/swaywm/wlroots/pull/1962 | |||
2020-06-24 | render/gles2: use glGetAttribLocation instead of hardcoded indices | Simon Zeni | |
2020-06-08 | render: Add wlr_renderer_blit_dmabuf() | Andri Yngvason | |
2020-04-28 | render/texture: add width and height fields | Simon Ser | |
Instead of requiring compositors to call wlr_texture_get_size each time they want to access the texture's size, expose this information as wlr_texture fields. | |||
2020-04-22 | render/gles2: add wlr_gles2_renderer_check_ext | Simon Ser | |
2019-12-20 | Refactor EGL/GL API loading | Simon Ser | |
Remove glapi.sh code generation, replace it with hand-written loading code that checks extension strings before calling eglGetProcAddress. The GLES2 renderer still uses global state because of: - {PUSH,POP}_GLES2_DEBUG macros - wlr_gles2_texture_from_* taking a wlr_egl instead of the renderer |