Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

DrmOutputManager #1576

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
3bfa9d2
drm/compositor: Refactor exporter out
Drakulix Nov 28, 2024
e9cfc35
drm/compositor: Refactor buffer handling
Drakulix Nov 28, 2024
6ba2e40
drm/compositor: Add FrameMode
Drakulix Nov 28, 2024
91493af
drm: Don't define combound error types via `Renderer`
Drakulix Nov 28, 2024
07700f2
drm/compositor: Refactor format selection
Drakulix Nov 28, 2024
e7362bc
drm/compositor: Add `commit_frame`
Drakulix Nov 28, 2024
379e02e
drm/compositor: Introduce `DrmOutput`/`Manager`
Drakulix Nov 28, 2024
b8c3def
anvil: Adopt drm changes
Drakulix Nov 28, 2024
fc12f59
drm/output: Use builder pattern for `use_mode` as well
Drakulix Dec 4, 2024
10e8019
drm/output: Provide a way to lock the device for custom needs
Drakulix Dec 4, 2024
1fc5dda
drm/output: Also allow to set the mode from the manager
Drakulix Dec 4, 2024
211d5b5
drm/output: Add a way to restore modifiers
Drakulix Dec 9, 2024
91332f3
drm/output: Refactor everything to use `DrmOutputRenderElements`
Drakulix Dec 9, 2024
6522b68
drm/compositor: Don't scanout format other than swapchain on primary …
Drakulix Dec 10, 2024
0d5fe0e
drm/output: Add documentation
Drakulix Dec 10, 2024
86e359a
chore: Address feature requirement mismatches
Drakulix Dec 10, 2024
d9ce004
chore: Fix clippy issues
Drakulix Dec 10, 2024
9be0da4
drm/compositor: Fix test
Drakulix Dec 10, 2024
ceaa97e
msrv: Bump to 1.80.1
Drakulix Dec 10, 2024
afa1117
anvil: Don't use type alias for min-ver of `image`
Drakulix Dec 10, 2024
243fe88
drm/output: Also allow modifier fallback for `use_mode`
Drakulix Dec 13, 2024
0f2e89f
drm/output: Add constructors for `DrmOutputRenderElements`
Drakulix Dec 16, 2024
0e56726
deps: Update pixman to 0.2.1
Drakulix Dec 16, 2024
06c52e6
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
2 changes: 1 addition & 1 deletion 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
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