Age | Commit message (Collapse) | Author | |
---|---|---|---|
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. | |||
2023-02-28 | render/vulkan: prefer render node for wlr_renderer_get_drm_fd() | Simon Ser | |
Instead of returning a primary node from wlr_renderer_get_drm_fd(), prefer to return a render node if any. | |||
2023-02-21 | render/swapchain: make public | Simon Ser | |
We've had this struct for a while. It'd be useful for compositors if they want to manage the swap chains themselves instead of being forced to use wlr_output's. Some compositors might also want to use a swapchain without an output. | |||
2022-12-06 | render/vulkan: wait for DMA-BUF fences | Simon Ser | |
The Vulkan spec doesn't guarantee that the driver will wait for implicitly synchronized client buffers before texturing from them. radv happens to perform the wait, but anv doesn't. Fix this by extracting implicit fences from DMA-BUFs, importing them into Vulkan as a VkSemaphore objects, and make the render pass wait on these VkSemaphores. | |||
2022-12-06 | render/dmabuf: add dmabuf_export_sync_file() | Simon Ser | |
2022-12-02 | render/vulkan: make shm/dmabuf split clearer in wlr_vk_format_props | Simon Ser | |
struct wlr_vk_format_props contains a mix of properties for shm and dmabuf, and it's not immediately clear which fields are for which kind of buffer. Use a nested struct to group the fields. | |||
2022-12-02 | render/vulkan: make vulkan_format_props_find_modifier() return value const | Simon Ser | |
2022-12-02 | render/drm-format-set: add wlr_drm_format_set_copy() | Simon Ser | |
2022-12-02 | render/vulkan: drop "_format" in wlr_vk_format fields | Simon Ser | |
"format" is already in the name, no need to repeat ourselves. `format->vk_format` sounds a bit redundant. | |||
2022-11-28 | render/vulkan: import semaphore to DMA-BUF instead of blocking | Simon Ser | |
Right now the Vulkan renderer blocks until the frame is complete after rendering. This is necessary because Vulkan doesn't interoperate well with implicit sync we use everywhere else. Use the new kernel API to import a sync_file into a DMA-BUF to avoid blocking. | |||
2022-11-28 | render/dmabuf: add dmabuf_import_sync_file | Simon Ser | |
References: https://lore.kernel.org/dri-devel/20220506180216.2095060-1-jason@jlekstrand.net/ |