diff --git a/src/render_helpers/border.rs b/src/render_helpers/border.rs index 83bc7a4c..30cae1cc 100644 --- a/src/render_helpers/border.rs +++ b/src/render_helpers/border.rs @@ -14,6 +14,7 @@ use super::renderer::NiriRenderer; use super::shader_element::ShaderRenderElement; use super::shaders::{mat3_uniform, ProgramType, Shaders}; use crate::backend::tty::{TtyFrame, TtyRenderer, TtyRendererError}; +use crate::render_helpers::renderer::AsGlesFrame as _; /// Renders a wide variety of borders and border parts. /// @@ -284,6 +285,7 @@ impl RenderElement for BorderRenderElement { damage: &[Rectangle], opaque_regions: &[Rectangle], ) -> Result<(), GlesError> { + let _span = tracy_client::span!("BorderRenderElement::draw"); RenderElement::::draw(&self.inner, frame, src, dst, damage, opaque_regions) } @@ -301,7 +303,9 @@ impl<'render> RenderElement> for BorderRenderElement { damage: &[Rectangle], opaque_regions: &[Rectangle], ) -> Result<(), TtyRendererError<'render>> { - RenderElement::>::draw(&self.inner, frame, src, dst, damage, opaque_regions) + let frame = frame.as_gles_frame(); + RenderElement::::draw(self, frame, src, dst, damage, opaque_regions)?; + Ok(()) } fn underlying_storage( diff --git a/src/render_helpers/resize.rs b/src/render_helpers/resize.rs index 88a18946..7dfc14ff 100644 --- a/src/render_helpers/resize.rs +++ b/src/render_helpers/resize.rs @@ -171,6 +171,7 @@ impl RenderElement for ResizeRenderElement { damage: &[Rectangle], opaque_regions: &[Rectangle], ) -> Result<(), GlesError> { + let _span = tracy_client::span!("ResizeRenderElement::draw"); RenderElement::::draw(&self.0, frame, src, dst, damage, opaque_regions)?; Ok(()) } @@ -189,8 +190,8 @@ impl<'render> RenderElement> for ResizeRenderElement { damage: &[Rectangle], opaque_regions: &[Rectangle], ) -> Result<(), TtyRendererError<'render>> { - let gles_frame = frame.as_gles_frame(); - RenderElement::::draw(&self.0, gles_frame, src, dst, damage, opaque_regions)?; + let frame = frame.as_gles_frame(); + RenderElement::::draw(self, frame, src, dst, damage, opaque_regions)?; Ok(()) } diff --git a/src/render_helpers/shader_element.rs b/src/render_helpers/shader_element.rs index e177912a..4d810e26 100644 --- a/src/render_helpers/shader_element.rs +++ b/src/render_helpers/shader_element.rs @@ -294,6 +294,8 @@ impl RenderElement for ShaderRenderElement { damage: &[Rectangle], _opaque_regions: &[Rectangle], ) -> Result<(), GlesError> { + let _span = tracy_client::span!("ShaderRenderElement::draw"); + let frame = frame.as_gles_frame(); let Some(shader) = Shaders::get_from_frame(frame).program(self.program) else { diff --git a/src/render_helpers/shadow.rs b/src/render_helpers/shadow.rs index 132b020b..fd25acbf 100644 --- a/src/render_helpers/shadow.rs +++ b/src/render_helpers/shadow.rs @@ -12,6 +12,7 @@ use super::renderer::NiriRenderer; use super::shader_element::ShaderRenderElement; use super::shaders::{mat3_uniform, ProgramType, Shaders}; use crate::backend::tty::{TtyFrame, TtyRenderer, TtyRendererError}; +use crate::render_helpers::renderer::AsGlesFrame as _; /// Renders a rounded rectangle shadow. #[derive(Debug, Clone)] @@ -245,6 +246,7 @@ impl RenderElement for ShadowRenderElement { damage: &[Rectangle], opaque_regions: &[Rectangle], ) -> Result<(), GlesError> { + let _span = tracy_client::span!("ShadowRenderElement::draw"); RenderElement::::draw(&self.inner, frame, src, dst, damage, opaque_regions) } @@ -262,7 +264,9 @@ impl<'render> RenderElement> for ShadowRenderElement { damage: &[Rectangle], opaque_regions: &[Rectangle], ) -> Result<(), TtyRendererError<'render>> { - RenderElement::>::draw(&self.inner, frame, src, dst, damage, opaque_regions) + let frame = frame.as_gles_frame(); + RenderElement::::draw(self, frame, src, dst, damage, opaque_regions)?; + Ok(()) } fn underlying_storage(