Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-05-31 | backend/drm: introduce wlr_drm_mode_get_info() | Simon Ser | |
This allows compositors to get back the raw drmModeModeInfo and look at DRM-specific fields and flags. | |||
2023-05-31 | render/vulkan: handle vulkan_record_stage_cb() failures | Simon Ser | |
2023-05-31 | backend/drm: move forward decl up for drmModeModeInfo | Simon Ser | |
This allows doc generators to properly associate the doc comment with the function instead of the typedef. | |||
2023-05-30 | output/cursor: use new rendering API | Simon Ser | |
2023-05-30 | examples: convert to new rendering API | Simon Ser | |
Left out multi-pointer (will be removed) and quads (requires arbitrary rotation). | |||
2023-05-30 | backend/drm: use new rendering API | Simon Ser | |
2023-05-30 | output: add wlr_output_begin_render_pass() | Simon Ser | |
2023-05-30 | wlr_scene: Introduce wlr_scene_buffer_set_opacity | Alexander Orzechowski | |
2023-05-30 | wlr_scene: Make scene_rect_from_node public | Alexander Orzechowski | |
This is in an effort to be more consistent with both already public getters: wlr_scene_buffer_from_node and wlr_scene_tree_from_node | |||
2023-05-30 | wlr_scene: Make scene_tree_from_node public | Alexander Orzechowski | |
This is to allow for compositors that want to be more implicit about how their scene is organized. Such a compositor may want to walk up at a certain scene node to find something such as a surface to focus on. | |||
2023-05-30 | wlr_scene: Add documentation to wlr_scene_buffer_from_node | Alexander Orzechowski | |
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-28 | renderer/gles2: Merge get_buffer and create_buffer | Alexander Orzechowski | |
2023-05-28 | renderer/gles2: Interpret matrix as column major in shader | Alexander Orzechowski | |
Avoids us needing to transpose. | |||
2023-05-28 | render/vulkan: add 10, 12, and 16-bit YCbCr formats | Simon Ser | |
2023-05-26 | output: use pending render format if any | Simon Ser | |
If a modeset contains a render format change, use that instead of the current one stored in wlr_output.render_format. This fixes render_bit_depth configuration not being applied without a second modeset in Sway. | |||
2023-05-26 | render/vulkan: document TEXTURE_TRANSFORM_* in shader | Simon Ser | |
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/egl: check for EGL_EXT_device_query in get_egl_device_from_drm_fd() | Simon Ser | |
We use eglQueryDeviceStringEXT() later on, which is optional and requires support for the EGL_EXT_device_query extension. | |||
2023-05-24 | render/vulkan: de-dup pipeline layout initialization | Simon Ser | |
2023-05-24 | render/vulkan: add more YCbCr formats | Simon Ser | |
The Vulkan spec states: > For the purposes of range expansion and Y′CBCR model conversion, > the R and B components contain color difference (chroma) values > and the G component contains luma. The equations below that sentence also help understand the mapping. | |||
2023-05-24 | render/vulkan: require support for linear filter for YCbCr | Simon Ser | |
YCBCR_CONVERSION_LINEAR_FILTER is not enough: this one only covers chromaFilter. For magFilter/minFilter we need FILTER_LINEAR as well. | |||
2023-05-24 | render/vulkan: check format support before creating YCbCr sampler | Simon Ser | |
We need to check whether the format supports dma_tex_ycbcr_features before creating the YCbCr sampler. | |||
2023-05-24 | render/vulkan: generalize YCbCr format support | Simon Ser | |
2023-05-24 | render/vulkan: add init_{default,ycbcr}_pipeline_layout() | 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-24 | render/vulkan: use same sampler params for RGBA and NV12 | Simon Ser | |
2023-05-24 | render/vulkan: use VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE for default sampler | Simon Ser | |
We don't actually need the REPEAT mode, and this makes things more consistent with the YCbCr sampler (which requires CLAMP_TO_EDGE for spec compliance). Also drop borderColor which is unused for this mode. | |||
2023-05-24 | render/vulkan: use identity swizzle for YCbCr formats | Simon Ser | |
Fixes the following validation error: [ VUID-VkImageViewCreateInfo-pNext-01970 ] Object 0: handle = 0x62e00003c400, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf378e14b | vkCreateImageView(): If there is a VkSamplerYcbcrConversion, the imageView must be created with the identity swizzle. | |||
2023-05-24 | render/vulkan: fix VkPipelineLayout when texturing NV12 | Simon Ser | |
The default pipeline layout was always passed. However, for NV12 we need to pass a different one. | |||
2023-05-24 | render/vulkan: extract quad pipeline init to separate function | Simon Ser | |
Makes it clearer that all of these structs are for the quad pipeline. | |||
2023-05-24 | util/box: transform empty boxes' origins | Kirill Primak | |
Not a huge fan of this, but changing this behavior would be a breaking change to a stable API. Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3650 | |||
2023-05-23 | render/vulkan: fix YCbCr format check in vulkan_texture_from_pixels() | Simon Ser | |
2023-05-23 | util/box: always treat NULL boxes as empty | Kirill Primak | |
2023-05-23 | util/box: simplify empty box case in wlr_box_intersection() | Kirill Primak | |
2023-05-23 | wlr_{box, fbox}_equal: Consider empty boxes NULL | Alexander Orzechowski | |
2023-05-23 | wlr_{box, fbox}_equal: Handle NULL | Alexander Orzechowski | |
2023-05-22 | render/vulkan: drop unnecessary comments | Simon Ser | |
Some comments in here are noise. | |||
2023-05-21 | render/pixel-format: add YVYU and VYUY | Simon Ser | |
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-18 | linux-dmabuf-v1: fix wlr_drm_format_set leak in feedback_compile() | Simon Ser | |
Fixes: 43b25fd34ebe ("dmabuf: Remove assumption that all mods are in fallback tranche") | |||
2023-05-18 | dmabuf: Remove assumption that all mods are in fallback tranche | Austin Shafer | |
According to the spec the compositor should send scanout modifiers in their respective device tranches, and all other texture modifiers in the main tranche. Currently wlroots expects all modifiers to be present in the last (i.e. "fallback") tranche, this removes that assumption in the feedback compilation stage so that scanout modifiers for secondary device can be advertised. "The full-screen feedback parameters have two tranches: one with the format/modifier pairs supported by the KMS plane, with the scanout flag set in the tranche_flags event and with tranche_target_device set to the KMS scan-out device; the other with the rest of the format/modifier pairs (supported for texturing, but not for scan-out), without the scanout flag set in the tranche_flags event, an" | |||
2023-05-18 | output_pick_format: Fail if no format could be chosen | Alexander Orzechowski | |
2023-05-18 | keyboard: use the new data in wlr_keyboard_set_keymap() | Kirill Primak | |
Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3647 | |||
2023-05-17 | keyboard: add support for resetting the keymap | Simon Ser | |