Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

DrmOutputManager #1576

Merged
merged 24 commits into from
Jan 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
664e649
drm/compositor: Refactor exporter out
Drakulix Nov 28, 2024
cb472a1
drm/compositor: Refactor buffer handling
Drakulix Nov 28, 2024
1065c0c
drm/compositor: Add FrameMode
Drakulix Nov 28, 2024
5ac0d28
drm: Don't define combound error types via `Renderer`
Drakulix Nov 28, 2024
7853a6c
drm/compositor: Refactor format selection
Drakulix Nov 28, 2024
a313bf6
drm/compositor: Add `commit_frame`
Drakulix Nov 28, 2024
f8ed5d2
drm/compositor: Introduce `DrmOutput`/`Manager`
Drakulix Nov 28, 2024
abfbc18
anvil: Adopt drm changes
Drakulix Nov 28, 2024
8ceeb4d
drm/output: Use builder pattern for `use_mode` as well
Drakulix Dec 4, 2024
567d8ab
drm/output: Provide a way to lock the device for custom needs
Drakulix Dec 4, 2024
3515aef
drm/output: Also allow to set the mode from the manager
Drakulix Dec 4, 2024
a536e41
drm/output: Add a way to restore modifiers
Drakulix Dec 9, 2024
828ad30
drm/output: Refactor everything to use `DrmOutputRenderElements`
Drakulix Dec 9, 2024
f38d68a
drm/compositor: Don't scanout format other than swapchain on primary …
Drakulix Dec 10, 2024
a9f9698
drm/output: Add documentation
Drakulix Dec 10, 2024
0013728
chore: Address feature requirement mismatches
Drakulix Dec 10, 2024
05d5951
chore: Fix clippy issues
Drakulix Dec 10, 2024
7dade48
drm/compositor: Fix test
Drakulix Dec 10, 2024
8ad999b
msrv: Bump to 1.80.1
Drakulix Dec 10, 2024
95b0402
anvil: Don't use type alias for min-ver of `image`
Drakulix Dec 10, 2024
44a6ce9
drm/output: Also allow modifier fallback for `use_mode`
Drakulix Dec 13, 2024
8f6d9b5
drm/output: Add constructors for `DrmOutputRenderElements`
Drakulix Dec 16, 2024
8cf8f55
deps: Update pixman to 0.2.1
Drakulix Dec 16, 2024
70a40b3
drm/compositor: Introduce additional `FrameFlags` (instead of `FrameM…
Drakulix Dec 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
- name: Checkout sources
uses: actions/checkout@v3
- name: Rust toolchain
uses: dtolnay/rust-toolchain@1.72.0
uses: dtolnay/rust-toolchain@1.80.1
- name: Get date for registry cache
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ readme = "README.md"
homepage = "https://smithay.github.io/"
keywords = ["wayland", "compositor", "graphics", "server"]
categories = ["gui"]
rust-version = "1.72.0"
rust-version = "1.80.1"

[package.metadata.docs.rs]
features = ["test_all_features"]
Expand Down Expand Up @@ -69,7 +69,7 @@ xkbcommon = { version = "0.8.0", features = ["wayland"]}
encoding_rs = { version = "0.8.33", optional = true }
profiling = "1.0.13"
smallvec = "1.11"
pixman = { version = "0.2.0", features = ["drm-fourcc", "sync"], optional = true }
pixman = { version = "0.2.1", features = ["drm-fourcc", "sync"], optional = true }


[dev-dependencies]
Expand Down
2 changes: 1 addition & 1 deletion anvil/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ version = "0.0.1"
[dependencies]
bitflags = "2.2.1"
fps_ticker = {version = "1.0.0", optional = true}
image = {version = "0.25.1", default-features = false, optional = true}
image = {version = "0.25.1", default-features = false, optional = true, features = ["png"]}
rand = "0.8"
tracing = { version = "0.1.37", features = ["max_level_trace", "release_max_level_debug"] }
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
Expand Down
6 changes: 3 additions & 3 deletions anvil/src/drawing.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use smithay::{
surface::WaylandSurfaceRenderElement,
AsRenderElements, Kind,
},
ImportAll, ImportMem, Renderer, Texture,
Color32F, ImportAll, ImportMem, Renderer, Texture,
},
input::pointer::CursorImageStatus,
render_elements,
Expand All @@ -23,8 +23,8 @@ use smithay::{
utils::{Buffer, Logical, Rectangle, Size, Transform},
};

pub static CLEAR_COLOR: [f32; 4] = [0.8, 0.8, 0.9, 1.0];
pub static CLEAR_COLOR_FULLSCREEN: [f32; 4] = [0.0, 0.0, 0.0, 0.0];
pub static CLEAR_COLOR: Color32F = Color32F::new(0.8, 0.8, 0.9, 1.0);
pub static CLEAR_COLOR_FULLSCREEN: Color32F = Color32F::new(0.0, 0.0, 0.0, 0.0);

pub struct PointerElement {
buffer: Option<MemoryRenderBuffer>,
Expand Down
6 changes: 3 additions & 3 deletions anvil/src/render.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use smithay::{
},
AsRenderElements, RenderElement, Wrap,
},
ImportAll, ImportMem, Renderer,
Color32F, ImportAll, ImportMem, Renderer,
},
desktop::space::{
constrain_space_element, ConstrainBehavior, ConstrainReference, Space, SpaceRenderElements,
Expand Down Expand Up @@ -142,7 +142,7 @@ pub fn output_elements<R>(
custom_elements: impl IntoIterator<Item = CustomRenderElements<R>>,
renderer: &mut R,
show_window_preview: bool,
) -> (Vec<OutputRenderElements<R, WindowRenderElement<R>>>, [f32; 4])
) -> (Vec<OutputRenderElements<R, WindowRenderElement<R>>>, Color32F)
where
R: Renderer + ImportAll + ImportMem,
R::TextureId: Clone + 'static,
Expand Down Expand Up @@ -198,7 +198,7 @@ pub fn render_output<'a, 'd, R>(
damage_tracker: &'d mut OutputDamageTracker,
age: usize,
show_window_preview: bool,
) -> Result<RenderOutputResult<'d>, OutputDamageTrackerError<R>>
) -> Result<RenderOutputResult<'d>, OutputDamageTrackerError<R::Error>>
where
R: Renderer + ImportAll + ImportMem,
R::TextureId: Clone + 'static,
Expand Down
Loading
Loading