Revert "Move some trait bounds to definition of AsGlowRenderer"

This reverts commit c860fcddad.

Accidentally pushed to wrong branch.

If only branch protection has a way to prompt for overriding rule on
push...
This commit is contained in:
Ian Douglas Scott 2026-03-11 20:08:33 -07:00
parent 87a7d20b33
commit 0d6c83db31
9 changed files with 93 additions and 86 deletions

View file

@ -1,22 +1,19 @@
use crate::shell::{CosmicMappedRenderElement, WorkspaceRenderElement};
#[cfg(feature = "debug")]
use smithay::backend::renderer::element::texture::TextureRenderElement;
use smithay::backend::renderer::{element::texture::TextureRenderElement, gles::GlesTexture};
use smithay::{
backend::{
allocator::dmabuf::Dmabuf,
renderer::{
Bind, Blit, ExportMem, ImportAll, ImportMem, Offscreen, Renderer,
element::{
Element, Id, Kind, RenderElement, UnderlyingStorage,
memory::MemoryRenderBufferRenderElement,
surface::WaylandSurfaceRenderElement,
utils::{CropRenderElement, Relocate, RelocateRenderElement, RescaleRenderElement},
},
gles::{GlesError, GlesRenderbuffer, GlesTexture, element::TextureShaderElement},
glow::{GlowFrame, GlowRenderer},
utils::{CommitCounter, DamageSet, OpaqueRegions},
backend::renderer::{
ImportAll, ImportMem, Renderer,
element::{
Element, Id, Kind, RenderElement, UnderlyingStorage,
memory::MemoryRenderBufferRenderElement,
surface::WaylandSurfaceRenderElement,
utils::{CropRenderElement, Relocate, RelocateRenderElement, RescaleRenderElement},
},
gles::{GlesError, element::TextureShaderElement},
glow::{GlowFrame, GlowRenderer},
utils::{CommitCounter, DamageSet, OpaqueRegions},
},
utils::{Buffer as BufferCoords, Logical, Physical, Point, Rectangle, Scale},
};
@ -25,7 +22,7 @@ use super::{GlMultiRenderer, cursor::CursorRenderElement};
pub enum CosmicElement<R>
where
R: AsGlowRenderer,
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
R::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
@ -45,7 +42,7 @@ where
impl<R> Element for CosmicElement<R>
where
R: AsGlowRenderer,
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
R::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
@ -186,7 +183,7 @@ where
impl<R> RenderElement<R> for CosmicElement<R>
where
R: AsGlowRenderer,
R: AsGlowRenderer + Renderer + ImportAll + ImportMem,
R::TextureId: 'static,
R::Error: FromGlesError,
CosmicMappedRenderElement<R>: RenderElement<R>,
@ -256,7 +253,7 @@ where
impl<R> From<CropRenderElement<RescaleRenderElement<WorkspaceRenderElement<R>>>>
for CosmicElement<R>
where
R: AsGlowRenderer,
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
@ -271,7 +268,7 @@ where
impl<R> From<MemoryRenderBufferRenderElement<R>> for CosmicElement<R>
where
R: AsGlowRenderer,
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
@ -283,7 +280,7 @@ where
#[cfg(feature = "debug")]
impl<R> From<TextureRenderElement<GlesTexture>> for CosmicElement<R>
where
R: AsGlowRenderer,
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R::TextureId: 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
@ -292,15 +289,9 @@ where
}
}
pub trait AsGlowRenderer:
Renderer
+ Offscreen<GlesTexture>
+ Offscreen<GlesRenderbuffer>
+ ImportAll
+ ImportMem
+ ExportMem
+ Bind<Dmabuf>
+ Blit
pub trait AsGlowRenderer
where
Self: Renderer,
{
fn glow_renderer(&self) -> &GlowRenderer;
fn glow_renderer_mut(&mut self) -> &mut GlowRenderer;

View file

@ -45,10 +45,11 @@ use cosmic::Theme;
use element::FromGlesError;
use smithay::{
backend::{
allocator::Fourcc,
allocator::{Fourcc, dmabuf::Dmabuf},
drm::{DrmDeviceFd, DrmNode},
renderer::{
Color32F, ImportAll, Offscreen, Renderer, Texture, TextureFilter,
Bind, Blit, Color32F, ExportMem, ImportAll, ImportMem, Offscreen, Renderer, Texture,
TextureFilter,
damage::{Error as RenderError, OutputDamageTracker, RenderOutputResult},
element::{
Element, Id, Kind, RenderElement, WeakId,
@ -477,7 +478,7 @@ pub fn cursor_elements<'a, 'frame, R>(
exclude_dnd_icon: bool,
) -> Vec<CosmicElement<R>>
where
R: AsGlowRenderer,
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R::TextureId: Send + Clone + 'static,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
@ -619,7 +620,7 @@ pub fn output_elements<R>(
_fps: Option<(&EguiState, &Timings)>,
) -> Result<Vec<CosmicElement<R>>, RenderError<R::Error>>
where
R: AsGlowRenderer,
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R::TextureId: Send + Clone + 'static,
R::Error: FromGlesError,
CosmicMappedRenderElement<R>: RenderElement<R>,
@ -717,7 +718,7 @@ pub fn workspace_elements<R>(
element_filter: ElementFilter,
) -> Result<Vec<CosmicElement<R>>, RenderError<R::Error>>
where
R: AsGlowRenderer,
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R::TextureId: Send + Clone + 'static,
R::Error: FromGlesError,
CosmicMappedRenderElement<R>: RenderElement<R>,
@ -1059,7 +1060,7 @@ pub struct PostprocessState {
}
impl PostprocessState {
pub fn new_with_renderer<R: AsGlowRenderer>(
pub fn new_with_renderer<R: AsGlowRenderer + Offscreen<GlesTexture>>(
renderer: &mut R,
format: Fourcc,
output_config: PostprocessOutputConfig,
@ -1090,7 +1091,7 @@ impl PostprocessState {
})
}
pub fn track_cursor<R: AsGlowRenderer>(
pub fn track_cursor<R: AsGlowRenderer + Offscreen<GlesTexture>>(
&mut self,
renderer: &mut R,
format: Fourcc,
@ -1192,7 +1193,14 @@ pub fn render_output<'d, R>(
loop_handle: &calloop::LoopHandle<'static, State>,
) -> Result<RenderOutputResult<'d>, RenderError<R::Error>>
where
R: AsGlowRenderer,
R: Renderer
+ ImportAll
+ ImportMem
+ ExportMem
+ Bind<Dmabuf>
+ Offscreen<GlesTexture>
+ Blit
+ AsGlowRenderer,
R::TextureId: Send + Clone + 'static,
R::Error: FromGlesError,
CosmicElement<R>: RenderElement<R>,
@ -1497,7 +1505,7 @@ pub fn render_workspace<'d, R>(
element_filter: ElementFilter,
) -> Result<(RenderOutputResult<'d>, Vec<CosmicElement<R>>), RenderError<R::Error>>
where
R: AsGlowRenderer,
R: Renderer + ImportAll + ImportMem + ExportMem + Bind<Dmabuf> + AsGlowRenderer,
R::TextureId: Send + Clone + 'static,
R::Error: FromGlesError,
CosmicElement<R>: RenderElement<R>,