Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-01-31 | render/pixel-format: Move has_alpha into it's own array | Leo Li | |
Some opaque pixel formats (nv12, p010) require per-plane bytes_per_block info. However, it doesn't make sense to store them in wlr_pixel_format_info, as they will never be useful (currently, this info is used for shm, which doesn't have a concept of multi-planar buffers.) Let's define a separate array and function for determining whether a pixel format has alpha. | |||
2023-12-04 | render/vulkan: use _SRGB image view when possible | Manuel Stoeckl | |
This is the last of a set of commits which ensures that both textures and render buffers can be accessed through _UNORM and _SRGB image views. While _UNORM image views are not yet used for 8-bpc image formats, they will be needed in the future to support color transforms for both textures and render buffers. | |||
2023-12-04 | render/vulkan: constify vulkan_format_props_find_modifier | Manuel Stoeckl | |
2023-12-04 | render/vulkan: detect which _UNORM formats support _SRGB views | 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-11-30 | renderer: Drop buffer binding | 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/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: 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 | 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/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/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-22 | render: drop legacy render pass | Simon Ser | |
All built-in renderers now implement the new API. | |||
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-02 | docs: replace the less commonly used "::" with "." | Kirill Primak | |
2023-09-09 | render/vulkan: de-duplicate VkImageUsageFlags | Simon Ser | |
The flags passed to vkCreateImage() must match the flags used when querying formats. Make this clearer by using the same variable. | |||
2023-06-19 | renderer: Introduce wlr_scale_filter_mode | Alexander Orzechowski | |
2023-06-17 | render/vulkan: Dynamically create texture views | Alexander Orzechowski | |
Now that we are dynamically creating pipeline layouts, we need separate texture views for each pipeline layout we choose to use with a texture. | |||
2023-06-17 | render/vulkan: Dynamically create pipeline layouts | Alexander Orzechowski | |
These will happen lazily when pipelines get created. | |||
2023-06-16 | render/vulkan/pipeline_key: Add blending | Alexander Orzechowski | |
This will become necessary when we switch away from scissoring. For the time being, this cleans things up a bit and allows for a trivial blending implementation for textures when that comes. | |||
2023-06-16 | render/vulkan: Handle quad pipeline through generic pipeline path | Alexander Orzechowski | |
2023-06-16 | render/vulkan: Dynamically handle pipeline creation for textures | Alexander Orzechowski | |
If we ever wanted to handle dynamic state that requires new pipelines such as using different texture filters those can be added here with more ease. | |||
2023-06-05 | render/gles2: implement timer API | Rose Hudson | |
2023-06-01 | render/vulkan: improve error handling in render_pass_submit() | Simon Ser | |
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3644 | |||
2023-05-30 | render/vulkan: implement render pass API | Simon Ser | |
2023-05-28 | renderer/gles2: Implement render pass interface | Alexander Orzechowski | |
2023-05-28 | renderer/gles2: Compute texture coordinates based off of vertex positions | Alexander Orzechowski | |
2023-05-26 | render/vulkan: drop unused vulkan_has_extension() | Simon Ser | |
2023-05-26 | render/vulkan: drop unused vulkan_change_layout_queue() | Simon Ser | |
2023-05-24 | render/vulkan: generalize YCbCr format support | Simon Ser | |
2023-05-24 | render/vulkan: add vulkan_get_pipeline_layout() | Simon Ser | |
Will make it easier to add more pipeline layouts for other YCbCr formats. | |||
2023-05-24 | render/vulkan: introduce struct wlr_vk_pipeline_layout | Simon Ser | |
This will make it easier to create one pipeline layout (plus related objects) per YCbCr format. | |||
2023-05-21 | render/pixel-format: add support for block-based formats | Simon Ser | |
Some formats like sub-sampled YCbCr use a block of bytes to store the color values for more than one pixel. Update our format table to be able to handle such formats. | |||
2023-05-21 | render/pixel-format: add docs | Simon Ser | |
2023-05-12 | render/vulkan: allow rendering to non-8-bit buffers | Manuel Stoeckl | |
This is implemented by a two-subpass rendering scheme; the first subpass draws (and blends) onto a linear R16G16B16A16_SFLOAT buffer, while the second subpass performs linear->srgb conversion, writing onto the actual output buffer. | |||
2023-05-11 | wlr_drm_format: Rework wlr_drm_format_intersect | Alexander Orzechowski | |
Now it takes a reference to a destination format | |||
2023-05-11 | wlr_drm_format: Change wlr_drm_format_dup to copy | Alexander Orzechowski | |
2023-05-11 | wlr_drm_format: Change wlr_drm_format_create to init | Alexander Orzechowski | |
2023-05-11 | wlr_drm_format: Don't take double pointer in wlr_drm_format_add | Alexander Orzechowski | |
2023-05-04 | render/vulkan: add support for NV12 | Simon Ser | |
2023-04-28 | render/vulkan: use VK_KHR_synchronization2 | Simon Ser | |
This simplifies the vkQueueSubmit call, removing the need to pass timeline semaphore point values as separate arrays. | |||
2023-04-25 | render/pixman: implement render pass API | Simon Ser | |
2023-04-25 | render/pixman: add begin_pixman_data_ptr_access() | Simon Ser | |
This logic is used twice. | |||
2023-04-25 | render/pass: add legacy render pass implementation | Simon Ser | |
Add a render pass implementation which leverages the legacy rendering API. This is helpful during the migration. | |||
2023-04-18 | render/vulkan: use full names for extension command fields | Simon Ser | |
This makes grepping much easier. |