Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-12-04 | render/vulkan: extract shm texture format query into function | Manuel Stoeckl | |
2023-12-04 | render/vulkan: track and use _UNORM variants of _SRGB formats | Manuel Stoeckl | |
Later commits will start using _SRGB image views again, where appropriate. | |||
2023-12-03 | swapchain: Add wlr_swapchain_has_buffer | Alexander Orzechowski | |
2023-11-30 | renderer: Drop buffer binding | Alexander Orzechowski | |
2023-11-30 | render: Nuke old read pixels API | Alexander Orzechowski | |
Sadly, the new API is not backwards compatible with the old API. Since we have already switched all users in wlroots to the new API compositors are already practically mandated to implement the new API. Let's get rid of the old one since there is no point. | |||
2023-11-30 | render: Implement texture_preferred_read_format | Alexander Orzechowski | |
2023-11-30 | wlr_texture: Introduce wlr_texture_preferred_read_format | Alexander Orzechowski | |
2023-11-30 | render/vulkan: Implement texture_read_pixels | Alexander Orzechowski | |
2023-11-30 | render/gles2: Implement texture_read_pixels | Alexander Orzechowski | |
Also get rid of gles2_texture.owns_texture. We only use the tex/fbo | |||
2023-11-30 | render/pixman: Implement texture_read_pixels | Alexander Orzechowski | |
2023-11-30 | wlr_texture: Introduce wlr_texture_read_pixels_options helpers | Alexander Orzechowski | |
2023-11-30 | wlr_texture: Introduce wlr_texture_read_pixels | Alexander Orzechowski | |
2023-11-30 | render/gles2: save/restore context when creating/submitting a render pass | Simon Ser | |
This is useful for e.g. lazily blitting a texture for readback purposes while rendering. | |||
2023-11-30 | render/gles2: reword wlr_gles2_texture comments | Simon Ser | |
These comments were a bit misleading: - "GL_TEXTURE_2D == mutable": not really, imported non-external-only DMA-BUFs would also use this target, but are not mutable. - "Only affects target == GL_TEXTURE_2D": same here. - "If imported from a wlr_buffer": not really, would be NULL if imported from a shm wlr_buffer. Adjust these comments to better reflect reality and adjust the check in gles2_texture_update_from_buffer(). | |||
2023-11-30 | render/gles2: Inline texture invalidation | Alexander Orzechowski | |
Let's us share more code with the other code path | |||
2023-11-30 | render/gles2: Don't attach texture as buffer addon | Alexander Orzechowski | |
Since wlr_gles2_buffer is now managing importing for us, there is no reason for us to continue doing this. | |||
2023-11-30 | render/gles2: Don't track image in texture | Alexander Orzechowski | |
We can get it from the buffer | |||
2023-11-30 | render/gles2: Don't double import dmabuf | Alexander Orzechowski | |
We can double import a dmabuf if we use it as a texture target and a render target. Instead, let's unify render targets and texture dmabuf imports to use wlr_gles2_buffer which manages the EGLImageKHR | |||
2023-11-30 | render/gles2: Destroy textures first | Alexander Orzechowski | |
Since imported textures will be based off of gles2_buffer we have to destroy textures first or else they will have an invalid reference to the buffers they are imported from. | |||
2023-11-30 | renderer/gles2: Bail rendering to external buffers when binding them | Alexander Orzechowski | |
We can't do it while we're creating them because we'll want to use gles2 buffers for textures soon. | |||
2023-11-30 | render/gles2: Lazily create buffer fbo | Alexander Orzechowski | |
2023-11-29 | render: Drop rendering_with_buffer | Alexander Orzechowski | |
This is always true now that we can only render with a buffer. | |||
2023-11-29 | renderer: Drop wlr_renderer_begin | Alexander Orzechowski | |
2023-11-29 | render/gles2: check external-only flag in get_or_create_buffer() | Simon Ser | |
If the external-only flag is set, then the EGLImage is only supported for use with GL_TEXTURE_EXTERNAL_OES texture targets. In particular, the EGLImage cannot be bound to a RBO. | |||
2023-11-29 | render/gles2: Don't track has_alpha in pixel_format | Alexander Orzechowski | |
Why track the alpha here when we can already get that information elsewhere? | |||
2023-11-28 | render/egl: fallback to GBM FD if EGLDevice is not available | Simon Ser | |
It's possible that we don't have an EGLDevice if we created the EGL context from a GBM device. Let's ensure all GPU-accelerated renderers always have a DRM FD to return by falling back to GBM's FD. | |||
2023-11-28 | render/vulkan: drop current_command_buffer | Simon Ser | |
This was used by the legacy rendering API. Since begin()/end() only need to set current_render_buffer and nothing else, we can drop all of these bits. | |||
2023-11-25 | Cleanup wlr_matrix.h includes | Simon Ser | |
Many files used to require wlr_matrix but no longer do. | |||
2023-11-23 | util/transform: move over wl_output_transform helpers | Simon Ser | |
These aren't really tied to wlr_output. | |||
2023-11-22 | render: drop legacy rendering API | Simon Ser | |
2023-11-22 | render/vulkan: drop legacy rendering API | Simon Ser | |
2023-11-22 | render/pixman: drop legacy rendering API | Simon Ser | |
2023-11-22 | render/gles2: drop legacy rendering API | Simon Ser | |
2023-11-22 | render: drop legacy render pass | Simon Ser | |
All built-in renderers now implement the new API. | |||
2023-11-21 | render/vulkan: undo alpha premult for 8-bpc ARGB/ABGR | Manuel Stoeckl | |
When a texel from the Vulkan format VK_FORMAT_B8G8R8A8_SRGB is read, the sRGB to linear conversion is applied independently to the R, G, and B channels; the A channel has no influence on this. However, DRM_FORMAT_ARGB8888 buffers are, per Wayland protocol, not encoded in this fashion; one must first unpremultiply the color channels before doing sRGB to linear conversion. This commit switches to handling ARGB8888 and ABGR8888 formats using the general fragment shader conversion from electrical to optical values. | |||
2023-10-31 | Remove unnecessary code | JiDe Zhang | |
Not needs set GL_DEPTH_TEST, Because when rendering to a framebuffer that has no depth buffer, depth testing always behaves as though the test is disabled, The initial value for each capability with the exception of GL_DITHER is GL_FALSE. | |||
2023-10-26 | render/vulkan: use VK_KHR_global_priority | eri | |
References: #3386 | |||
2023-10-26 | render/vulkan: remove unused queue_props in renderer | Simon Zeni | |
2023-10-21 | renderer/vulkan: don't add two alphas together in blend func | Brett Ernst | |
2023-10-17 | render/vulkan: undo alpha premult before sRGB encoding/decoding | Simon Ser | |
sRGB encoding/decoding needs to happen with straight alpha, not pre-multiplied alpha. | |||
2023-10-06 | render/allocator: log message when GBM is disabled | Simon Ser | |
When the backend and renderer would need GBM but it's disabled at compile-time, log a message to make this situation easier to debug. | |||
2023-10-06 | render: log error when requested renderer is compile-time disabled | Simon Ser | |
It can be a bit confusing to debug when the user requests an explicit renderer but it's disabled at build-time. Log an error when that happens. | |||
2023-10-05 | render/vulkan: constrain blend to output subpass to redrawn region | Manuel Stoeckl | |
This commit only applies to the render pass API. | |||
2023-10-05 | renderer: Don't crash when trying to fallback to pixman | Alexander Orzechowski | |
Pixman won't be chosen by default if the system has a valid render node but gles2 and vulkan creation failed. | |||
2023-10-05 | renderer_autocreate_with_drm_fd: Ensure fd isn't bogus | Alexander Orzechowski | |
2023-10-03 | treewide: Migrate from sizeof(struct) to sizeof(*pointer) where practical | Alexander Orzechowski | |
2023-09-21 | render/pass: Remove empty box early return | Alexander Orzechowski | |
2023-09-21 | renderer: Use wlr_render_rect_options_get_box | Alexander Orzechowski | |
Fixes: #3697 | |||
2023-09-21 | render/pass: Introduce wlr_render_rect_options_get_box | Alexander Orzechowski | |
2023-09-10 | render/vulkan: fix validation error with vkCmdBlitImage | Manuel Stoeckl | |
Specfically, VUID-vkCmdBlitImage-srcImage-00247. |