mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-22 02:01:55 +07:00
Update Smithay
This commit is contained in:
Generated
+2
-2
@@ -3115,7 +3115,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "smithay"
|
name = "smithay"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
source = "git+https://github.com/Smithay/smithay.git#e5f006818df7ebb92d206985f45e713ba1e9c1c9"
|
source = "git+https://github.com/Smithay/smithay.git#e237b077bd922e17849eff91ba05853c7a68f958"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"appendlist",
|
"appendlist",
|
||||||
"bitflags 2.5.0",
|
"bitflags 2.5.0",
|
||||||
@@ -3187,7 +3187,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "smithay-drm-extras"
|
name = "smithay-drm-extras"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/Smithay/smithay.git#e5f006818df7ebb92d206985f45e713ba1e9c1c9"
|
source = "git+https://github.com/Smithay/smithay.git#e237b077bd922e17849eff91ba05853c7a68f958"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"drm",
|
"drm",
|
||||||
"edid-rs",
|
"edid-rs",
|
||||||
|
|||||||
+3
-1
@@ -1197,7 +1197,9 @@ impl Tty {
|
|||||||
{
|
{
|
||||||
if let PrimaryPlaneElement::Swapchain(element) = res.primary_element {
|
if let PrimaryPlaneElement::Swapchain(element) = res.primary_element {
|
||||||
let _span = tracy_client::span!("wait for completion");
|
let _span = tracy_client::span!("wait for completion");
|
||||||
element.sync.wait();
|
if let Err(err) = element.sync.wait() {
|
||||||
|
warn!("error waiting for frame completion: {err:?}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -176,10 +176,12 @@ impl Winit {
|
|||||||
.wait_for_frame_completion_before_queueing
|
.wait_for_frame_completion_before_queueing
|
||||||
{
|
{
|
||||||
let _span = tracy_client::span!("wait for completion");
|
let _span = tracy_client::span!("wait for completion");
|
||||||
res.sync.wait();
|
if let Err(err) = res.sync.wait() {
|
||||||
|
warn!("error waiting for frame completion: {err:?}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.backend.submit(Some(&damage)).unwrap();
|
self.backend.submit(Some(damage)).unwrap();
|
||||||
|
|
||||||
let mut presentation_feedbacks = niri.take_presentation_feedbacks(output, &res.states);
|
let mut presentation_feedbacks = niri.take_presentation_feedbacks(output, &res.states);
|
||||||
let mode = output.current_mode().unwrap();
|
let mode = output.current_mode().unwrap();
|
||||||
|
|||||||
+12
-1
@@ -10,6 +10,7 @@ use std::thread;
|
|||||||
|
|
||||||
use smithay::backend::allocator::dmabuf::Dmabuf;
|
use smithay::backend::allocator::dmabuf::Dmabuf;
|
||||||
use smithay::backend::drm::DrmNode;
|
use smithay::backend::drm::DrmNode;
|
||||||
|
use smithay::backend::input::TabletToolDescriptor;
|
||||||
use smithay::desktop::{PopupKind, PopupManager};
|
use smithay::desktop::{PopupKind, PopupManager};
|
||||||
use smithay::input::pointer::{CursorIcon, CursorImageStatus, PointerHandle};
|
use smithay::input::pointer::{CursorIcon, CursorImageStatus, PointerHandle};
|
||||||
use smithay::input::{keyboard, Seat, SeatHandler, SeatState};
|
use smithay::input::{keyboard, Seat, SeatHandler, SeatState};
|
||||||
@@ -45,6 +46,7 @@ use smithay::wayland::selection::{SelectionHandler, SelectionTarget};
|
|||||||
use smithay::wayland::session_lock::{
|
use smithay::wayland::session_lock::{
|
||||||
LockSurface, SessionLockHandler, SessionLockManagerState, SessionLocker,
|
LockSurface, SessionLockHandler, SessionLockManagerState, SessionLocker,
|
||||||
};
|
};
|
||||||
|
use smithay::wayland::tablet_manager::TabletSeatHandler;
|
||||||
use smithay::{
|
use smithay::{
|
||||||
delegate_cursor_shape, delegate_data_control, delegate_data_device, delegate_dmabuf,
|
delegate_cursor_shape, delegate_data_control, delegate_data_device, delegate_dmabuf,
|
||||||
delegate_drm_lease, delegate_idle_inhibit, delegate_idle_notify, delegate_input_method_manager,
|
delegate_drm_lease, delegate_idle_inhibit, delegate_idle_notify, delegate_input_method_manager,
|
||||||
@@ -105,11 +107,20 @@ impl SeatHandler for State {
|
|||||||
}
|
}
|
||||||
delegate_seat!(State);
|
delegate_seat!(State);
|
||||||
delegate_cursor_shape!(State);
|
delegate_cursor_shape!(State);
|
||||||
delegate_tablet_manager!(State);
|
|
||||||
delegate_pointer_gestures!(State);
|
delegate_pointer_gestures!(State);
|
||||||
delegate_relative_pointer!(State);
|
delegate_relative_pointer!(State);
|
||||||
delegate_text_input_manager!(State);
|
delegate_text_input_manager!(State);
|
||||||
|
|
||||||
|
impl TabletSeatHandler for State {
|
||||||
|
fn tablet_tool_image(&mut self, _tool: &TabletToolDescriptor, image: CursorImageStatus) {
|
||||||
|
// FIXME: tablet tools should have their own cursors.
|
||||||
|
self.niri.cursor_manager.set_cursor_image(image);
|
||||||
|
// FIXME: granular.
|
||||||
|
self.niri.queue_redraw_all();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delegate_tablet_manager!(State);
|
||||||
|
|
||||||
impl PointerConstraintsHandler for State {
|
impl PointerConstraintsHandler for State {
|
||||||
fn new_constraint(&mut self, _surface: &WlSurface, pointer: &PointerHandle<Self>) {
|
fn new_constraint(&mut self, _surface: &WlSurface, pointer: &PointerHandle<Self>) {
|
||||||
self.niri.maybe_activate_pointer_constraint(
|
self.niri.maybe_activate_pointer_constraint(
|
||||||
|
|||||||
+1
-18
@@ -82,7 +82,7 @@ use smithay::wayland::shell::xdg::decoration::XdgDecorationState;
|
|||||||
use smithay::wayland::shell::xdg::XdgShellState;
|
use smithay::wayland::shell::xdg::XdgShellState;
|
||||||
use smithay::wayland::shm::ShmState;
|
use smithay::wayland::shm::ShmState;
|
||||||
use smithay::wayland::socket::ListeningSocketSource;
|
use smithay::wayland::socket::ListeningSocketSource;
|
||||||
use smithay::wayland::tablet_manager::{TabletManagerState, TabletSeatTrait};
|
use smithay::wayland::tablet_manager::TabletManagerState;
|
||||||
use smithay::wayland::text_input::TextInputManagerState;
|
use smithay::wayland::text_input::TextInputManagerState;
|
||||||
use smithay::wayland::viewporter::ViewporterState;
|
use smithay::wayland::viewporter::ViewporterState;
|
||||||
use smithay::wayland::virtual_keyboard::VirtualKeyboardManagerState;
|
use smithay::wayland::virtual_keyboard::VirtualKeyboardManagerState;
|
||||||
@@ -1232,23 +1232,6 @@ impl Niri {
|
|||||||
let mods_with_finger_scroll_binds =
|
let mods_with_finger_scroll_binds =
|
||||||
mods_with_finger_scroll_binds(backend.mod_key(), &config_.binds);
|
mods_with_finger_scroll_binds(backend.mod_key(), &config_.binds);
|
||||||
|
|
||||||
let (tx, rx) = calloop::channel::channel();
|
|
||||||
event_loop
|
|
||||||
.insert_source(rx, move |event, _, state| {
|
|
||||||
if let calloop::channel::Event::Msg(image) = event {
|
|
||||||
state.niri.cursor_manager.set_cursor_image(image);
|
|
||||||
// FIXME: granular.
|
|
||||||
state.niri.queue_redraw_all();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.unwrap();
|
|
||||||
seat.tablet_seat()
|
|
||||||
.on_cursor_surface(move |_tool, new_image| {
|
|
||||||
if let Err(err) = tx.send(new_image) {
|
|
||||||
warn!("error sending new tablet cursor image: {err:?}");
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
let screenshot_ui = ScreenshotUi::new();
|
let screenshot_ui = ScreenshotUi::new();
|
||||||
let config_error_notification = ConfigErrorNotification::new(config.clone());
|
let config_error_notification = ConfigErrorNotification::new(config.clone());
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use glam::Vec2;
|
|||||||
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
||||||
use smithay::backend::renderer::gles::element::PixelShaderElement;
|
use smithay::backend::renderer::gles::element::PixelShaderElement;
|
||||||
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer, Uniform};
|
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer, Uniform};
|
||||||
use smithay::backend::renderer::utils::CommitCounter;
|
use smithay::backend::renderer::utils::{CommitCounter, DamageSet};
|
||||||
use smithay::utils::{Buffer, Logical, Physical, Rectangle, Scale, Transform};
|
use smithay::utils::{Buffer, Logical, Physical, Rectangle, Scale, Transform};
|
||||||
|
|
||||||
use super::primary_gpu_pixel_shader::PrimaryGpuPixelShaderRenderElement;
|
use super::primary_gpu_pixel_shader::PrimaryGpuPixelShaderRenderElement;
|
||||||
@@ -85,7 +85,7 @@ impl Element for GradientRenderElement {
|
|||||||
&self,
|
&self,
|
||||||
scale: Scale<f64>,
|
scale: Scale<f64>,
|
||||||
commit: Option<CommitCounter>,
|
commit: Option<CommitCounter>,
|
||||||
) -> Vec<Rectangle<i32, Physical>> {
|
) -> DamageSet<i32, Physical> {
|
||||||
self.0.damage_since(scale, commit)
|
self.0.damage_since(scale, commit)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,8 +64,7 @@ pub fn render_and_download(
|
|||||||
) -> anyhow::Result<GlesMapping> {
|
) -> anyhow::Result<GlesMapping> {
|
||||||
let _span = tracy_client::span!();
|
let _span = tracy_client::span!();
|
||||||
|
|
||||||
let (_, sync_point) = render_to_texture(renderer, size, scale, transform, fourcc, elements)?;
|
let (_, _) = render_to_texture(renderer, size, scale, transform, fourcc, elements)?;
|
||||||
sync_point.wait();
|
|
||||||
|
|
||||||
let buffer_size = size.to_logical(1).to_buffer(1, Transform::Normal);
|
let buffer_size = size.to_logical(1).to_buffer(1, Transform::Normal);
|
||||||
let mapping = renderer
|
let mapping = renderer
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use smithay::backend::renderer::element::texture::{TextureBuffer, TextureRenderE
|
|||||||
use smithay::backend::renderer::element::utils::{Relocate, RelocateRenderElement};
|
use smithay::backend::renderer::element::utils::{Relocate, RelocateRenderElement};
|
||||||
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
||||||
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer};
|
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer};
|
||||||
use smithay::backend::renderer::utils::CommitCounter;
|
use smithay::backend::renderer::utils::{CommitCounter, DamageSet};
|
||||||
use smithay::utils::{Buffer, Physical, Rectangle, Scale, Transform};
|
use smithay::utils::{Buffer, Physical, Rectangle, Scale, Transform};
|
||||||
|
|
||||||
use super::primary_gpu_texture::PrimaryGpuTextureRenderElement;
|
use super::primary_gpu_texture::PrimaryGpuTextureRenderElement;
|
||||||
@@ -130,7 +130,7 @@ impl Element for OffscreenRenderElement {
|
|||||||
&self,
|
&self,
|
||||||
scale: Scale<f64>,
|
scale: Scale<f64>,
|
||||||
commit: Option<CommitCounter>,
|
commit: Option<CommitCounter>,
|
||||||
) -> Vec<Rectangle<i32, Physical>> {
|
) -> DamageSet<i32, Physical> {
|
||||||
if let Some(texture) = &self.texture {
|
if let Some(texture) = &self.texture {
|
||||||
texture.damage_since(scale, commit)
|
texture.damage_since(scale, commit)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
||||||
use smithay::backend::renderer::gles::element::PixelShaderElement;
|
use smithay::backend::renderer::gles::element::PixelShaderElement;
|
||||||
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer};
|
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer};
|
||||||
use smithay::backend::renderer::utils::CommitCounter;
|
use smithay::backend::renderer::utils::{CommitCounter, DamageSet};
|
||||||
use smithay::utils::{Buffer, Physical, Rectangle, Scale, Transform};
|
use smithay::utils::{Buffer, Physical, Rectangle, Scale, Transform};
|
||||||
|
|
||||||
use super::renderer::AsGlesFrame;
|
use super::renderer::AsGlesFrame;
|
||||||
@@ -36,7 +36,7 @@ impl Element for PrimaryGpuPixelShaderRenderElement {
|
|||||||
&self,
|
&self,
|
||||||
scale: Scale<f64>,
|
scale: Scale<f64>,
|
||||||
commit: Option<CommitCounter>,
|
commit: Option<CommitCounter>,
|
||||||
) -> Vec<Rectangle<i32, Physical>> {
|
) -> DamageSet<i32, Physical> {
|
||||||
self.0.damage_since(scale, commit)
|
self.0.damage_since(scale, commit)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use smithay::backend::renderer::element::texture::TextureRenderElement;
|
use smithay::backend::renderer::element::texture::TextureRenderElement;
|
||||||
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
use smithay::backend::renderer::element::{Element, Id, Kind, RenderElement, UnderlyingStorage};
|
||||||
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer, GlesTexture};
|
use smithay::backend::renderer::gles::{GlesError, GlesFrame, GlesRenderer, GlesTexture};
|
||||||
use smithay::backend::renderer::utils::CommitCounter;
|
use smithay::backend::renderer::utils::{CommitCounter, DamageSet};
|
||||||
use smithay::utils::{Buffer, Physical, Rectangle, Scale, Transform};
|
use smithay::utils::{Buffer, Physical, Rectangle, Scale, Transform};
|
||||||
|
|
||||||
use super::renderer::AsGlesFrame;
|
use super::renderer::AsGlesFrame;
|
||||||
@@ -36,7 +36,7 @@ impl Element for PrimaryGpuTextureRenderElement {
|
|||||||
&self,
|
&self,
|
||||||
scale: Scale<f64>,
|
scale: Scale<f64>,
|
||||||
commit: Option<CommitCounter>,
|
commit: Option<CommitCounter>,
|
||||||
) -> Vec<Rectangle<i32, Physical>> {
|
) -> DamageSet<i32, Physical> {
|
||||||
self.0.damage_since(scale, commit)
|
self.0.damage_since(scale, commit)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ macro_rules! niri_render_elements {
|
|||||||
&self,
|
&self,
|
||||||
scale: smithay::utils::Scale<f64>,
|
scale: smithay::utils::Scale<f64>,
|
||||||
commit: Option<smithay::backend::renderer::utils::CommitCounter>,
|
commit: Option<smithay::backend::renderer::utils::CommitCounter>,
|
||||||
) -> Vec<smithay::utils::Rectangle<i32, smithay::utils::Physical>> {
|
) -> smithay::backend::renderer::utils::DamageSet<i32, smithay::utils::Physical> {
|
||||||
match self {
|
match self {
|
||||||
$($name::$variant(elem) => elem.damage_since(scale, commit)),+
|
$($name::$variant(elem) => elem.damage_since(scale, commit)),+
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user