chore: Update smithay

This commit is contained in:
Victoria Brekenfeld 2024-02-07 12:33:32 +01:00 committed by Victoria Brekenfeld
parent 3d3864b357
commit 83ec68d383
9 changed files with 748 additions and 200 deletions

View file

@ -161,10 +161,10 @@ impl RenderElement<GlowRenderer> for CosmicElement<GlowRenderer> {
}
}
impl<'a, 'b> RenderElement<GlMultiRenderer<'a, 'b>> for CosmicElement<GlMultiRenderer<'a, 'b>> {
impl<'a> RenderElement<GlMultiRenderer<'a>> for CosmicElement<GlMultiRenderer<'a>> {
fn draw<'frame>(
&self,
frame: &mut GlMultiFrame<'a, 'b, 'frame>,
frame: &mut GlMultiFrame<'a, 'frame>,
src: Rectangle<f64, BufferCoords>,
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
@ -185,10 +185,7 @@ impl<'a, 'b> RenderElement<GlMultiRenderer<'a, 'b>> for CosmicElement<GlMultiRen
}
}
fn underlying_storage(
&self,
renderer: &mut GlMultiRenderer<'a, 'b>,
) -> Option<UnderlyingStorage> {
fn underlying_storage(&self, renderer: &mut GlMultiRenderer<'a>) -> Option<UnderlyingStorage> {
match self {
CosmicElement::Workspace(elem) => elem.underlying_storage(renderer),
CosmicElement::Cursor(elem) => elem.underlying_storage(renderer),
@ -273,7 +270,7 @@ impl AsGlowRenderer for GlowRenderer {
}
}
impl<'a, 'b> AsGlowRenderer for GlMultiRenderer<'a, 'b> {
impl<'a> AsGlowRenderer for GlMultiRenderer<'a> {
fn glow_renderer(&self) -> &GlowRenderer {
self.as_ref()
}
@ -299,7 +296,7 @@ impl<'frame> AsGlowFrame<'frame> for GlowFrame<'frame> {
}
}
impl<'renderer, 'alloc, 'frame> AsGlowFrame<'frame> for GlMultiFrame<'renderer, 'alloc, 'frame> {
impl<'renderer, 'frame> AsGlowFrame<'frame> for GlMultiFrame<'renderer, 'frame> {
fn glow_frame(&self) -> &GlowFrame<'frame> {
self.as_ref()
}

View file

@ -40,7 +40,7 @@ use keyframe::{ease, functions::EaseInOutCubic};
use smithay::{
backend::{
allocator::dmabuf::Dmabuf,
drm::DrmNode,
drm::{DrmDeviceFd, DrmNode},
renderer::{
buffer_dimensions,
damage::{Error as RenderError, OutputDamageTracker, RenderOutputResult},
@ -75,11 +75,23 @@ use self::cursor::CursorRenderElement;
pub mod element;
use self::element::{AsGlowRenderer, CosmicElement};
pub type GlMultiRenderer<'a, 'b> =
MultiRenderer<'a, 'a, 'b, GbmGlesBackend<GlowRenderer>, GbmGlesBackend<GlowRenderer>>;
pub type GlMultiFrame<'a, 'b, 'frame> =
MultiFrame<'a, 'a, 'b, 'frame, GbmGlesBackend<GlowRenderer>, GbmGlesBackend<GlowRenderer>>;
pub type GlMultiError = MultiError<GbmGlesBackend<GlowRenderer>, GbmGlesBackend<GlowRenderer>>;
pub type GlMultiRenderer<'a> = MultiRenderer<
'a,
'a,
GbmGlesBackend<GlowRenderer, DrmDeviceFd>,
GbmGlesBackend<GlowRenderer, DrmDeviceFd>,
>;
pub type GlMultiFrame<'a, 'frame> = MultiFrame<
'a,
'a,
'frame,
GbmGlesBackend<GlowRenderer, DrmDeviceFd>,
GbmGlesBackend<GlowRenderer, DrmDeviceFd>,
>;
pub type GlMultiError = MultiError<
GbmGlesBackend<GlowRenderer, DrmDeviceFd>,
GbmGlesBackend<GlowRenderer, DrmDeviceFd>,
>;
pub static CLEAR_COLOR: [f32; 4] = [0.153, 0.161, 0.165, 1.0];
pub static OUTLINE_SHADER: &str = include_str!("./shaders/rounded_outline.frag");