render: Merge FromGlesError into AsGlowRenderer
This commit is contained in:
parent
0ce7f11445
commit
8b990e5658
8 changed files with 40 additions and 79 deletions
|
|
@ -1,4 +1,7 @@
|
|||
use crate::shell::{CosmicMappedRenderElement, WorkspaceRenderElement};
|
||||
use crate::{
|
||||
backend::render::GlMultiError,
|
||||
shell::{CosmicMappedRenderElement, WorkspaceRenderElement},
|
||||
};
|
||||
|
||||
#[cfg(feature = "debug")]
|
||||
use smithay::backend::renderer::element::texture::TextureRenderElement;
|
||||
|
|
@ -203,7 +206,6 @@ impl<R> RenderElement<R> for CosmicElement<R>
|
|||
where
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
fn draw(
|
||||
|
|
@ -237,7 +239,7 @@ where
|
|||
opaque_regions,
|
||||
cache,
|
||||
)
|
||||
.map_err(FromGlesError::from_gles_error)
|
||||
.map_err(R::from_gles_error)
|
||||
}
|
||||
CosmicElement::Zoom(elem) => elem.draw(frame, src, dst, damage, opaque_regions, cache),
|
||||
#[cfg(feature = "debug")]
|
||||
|
|
@ -252,7 +254,7 @@ where
|
|||
opaque_regions,
|
||||
cache,
|
||||
)
|
||||
.map_err(FromGlesError::from_gles_error)
|
||||
.map_err(R::from_gles_error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -293,7 +295,7 @@ where
|
|||
RenderElement::<GlowRenderer>::capture_framebuffer(
|
||||
elem, glow_frame, src, dst, cache,
|
||||
)
|
||||
.map_err(FromGlesError::from_gles_error)
|
||||
.map_err(R::from_gles_error)
|
||||
}
|
||||
CosmicElement::Zoom(elem) => elem.capture_framebuffer(frame, src, dst, cache),
|
||||
#[cfg(feature = "debug")]
|
||||
|
|
@ -302,7 +304,7 @@ where
|
|||
RenderElement::<GlowRenderer>::capture_framebuffer(
|
||||
elem, glow_frame, src, dst, cache,
|
||||
)
|
||||
.map_err(FromGlesError::from_gles_error)
|
||||
.map_err(R::from_gles_error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -365,6 +367,7 @@ pub trait AsGlowRenderer:
|
|||
fn glow_frame_mut<'a, 'frame, 'buffer>(
|
||||
frame: &'a mut Self::Frame<'frame, 'buffer>,
|
||||
) -> &'a mut GlowFrame<'frame, 'buffer>;
|
||||
fn from_gles_error(err: GlesError) -> Self::Error;
|
||||
}
|
||||
|
||||
impl AsGlowRenderer for GlowRenderer {
|
||||
|
|
@ -384,6 +387,9 @@ impl AsGlowRenderer for GlowRenderer {
|
|||
) -> &'a mut GlowFrame<'frame, 'buffer> {
|
||||
frame
|
||||
}
|
||||
fn from_gles_error(err: GlesError) -> Self::Error {
|
||||
err
|
||||
}
|
||||
}
|
||||
|
||||
impl AsGlowRenderer for GlMultiRenderer<'_> {
|
||||
|
|
@ -403,6 +409,9 @@ impl AsGlowRenderer for GlMultiRenderer<'_> {
|
|||
) -> &'b mut GlowFrame<'frame, 'buffer> {
|
||||
frame.as_mut()
|
||||
}
|
||||
fn from_gles_error(err: GlesError) -> Self::Error {
|
||||
GlMultiError::Render(err)
|
||||
}
|
||||
}
|
||||
|
||||
pub struct DamageElement {
|
||||
|
|
@ -458,13 +467,3 @@ impl<R: Renderer> RenderElement<R> for DamageElement {
|
|||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
pub trait FromGlesError {
|
||||
fn from_gles_error(err: GlesError) -> Self;
|
||||
}
|
||||
|
||||
impl FromGlesError for GlesError {
|
||||
fn from_gles_error(err: GlesError) -> Self {
|
||||
err
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@ use crate::{
|
|||
};
|
||||
|
||||
use cosmic::Theme;
|
||||
use element::FromGlesError;
|
||||
use smithay::{
|
||||
backend::{
|
||||
allocator::Fourcc,
|
||||
|
|
@ -628,7 +627,6 @@ pub fn output_elements<R>(
|
|||
where
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -655,7 +653,7 @@ where
|
|||
),
|
||||
scale,
|
||||
)
|
||||
.map_err(FromGlesError::from_gles_error)
|
||||
.map_err(R::from_gles_error)
|
||||
.map_err(RenderError::Rendering)?
|
||||
.into(),
|
||||
]
|
||||
|
|
@ -728,7 +726,6 @@ pub fn workspace_elements<R>(
|
|||
where
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||
{
|
||||
|
|
@ -1205,7 +1202,6 @@ pub fn render_output<'d, R>(
|
|||
where
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicElement<R>: RenderElement<R>,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||
|
|
@ -1510,7 +1506,6 @@ pub fn render_workspace<'d, R>(
|
|||
where
|
||||
R: AsGlowRenderer,
|
||||
R::TextureId: Send + Clone + 'static,
|
||||
R::Error: FromGlesError,
|
||||
CosmicElement<R>: RenderElement<R>,
|
||||
CosmicMappedRenderElement<R>: RenderElement<R>,
|
||||
WorkspaceRenderElement<R>: RenderElement<R>,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue