mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-21 02:01:55 +07:00
render_helpers: Add Tracy spans to draw() calls
This commit is contained in:
@@ -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<GlesRenderer> for BorderRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), GlesError> {
|
||||
let _span = tracy_client::span!("BorderRenderElement::draw");
|
||||
RenderElement::<GlesRenderer>::draw(&self.inner, frame, src, dst, damage, opaque_regions)
|
||||
}
|
||||
|
||||
@@ -301,7 +303,9 @@ impl<'render> RenderElement<TtyRenderer<'render>> for BorderRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), TtyRendererError<'render>> {
|
||||
RenderElement::<TtyRenderer<'_>>::draw(&self.inner, frame, src, dst, damage, opaque_regions)
|
||||
let frame = frame.as_gles_frame();
|
||||
RenderElement::<GlesRenderer>::draw(self, frame, src, dst, damage, opaque_regions)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn underlying_storage(
|
||||
|
||||
@@ -171,6 +171,7 @@ impl RenderElement<GlesRenderer> for ResizeRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), GlesError> {
|
||||
let _span = tracy_client::span!("ResizeRenderElement::draw");
|
||||
RenderElement::<GlesRenderer>::draw(&self.0, frame, src, dst, damage, opaque_regions)?;
|
||||
Ok(())
|
||||
}
|
||||
@@ -189,8 +190,8 @@ impl<'render> RenderElement<TtyRenderer<'render>> for ResizeRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), TtyRendererError<'render>> {
|
||||
let gles_frame = frame.as_gles_frame();
|
||||
RenderElement::<GlesRenderer>::draw(&self.0, gles_frame, src, dst, damage, opaque_regions)?;
|
||||
let frame = frame.as_gles_frame();
|
||||
RenderElement::<GlesRenderer>::draw(self, frame, src, dst, damage, opaque_regions)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
@@ -294,6 +294,8 @@ impl RenderElement<GlesRenderer> for ShaderRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
_opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> 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 {
|
||||
|
||||
@@ -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<GlesRenderer> for ShadowRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), GlesError> {
|
||||
let _span = tracy_client::span!("ShadowRenderElement::draw");
|
||||
RenderElement::<GlesRenderer>::draw(&self.inner, frame, src, dst, damage, opaque_regions)
|
||||
}
|
||||
|
||||
@@ -262,7 +264,9 @@ impl<'render> RenderElement<TtyRenderer<'render>> for ShadowRenderElement {
|
||||
damage: &[Rectangle<i32, Physical>],
|
||||
opaque_regions: &[Rectangle<i32, Physical>],
|
||||
) -> Result<(), TtyRendererError<'render>> {
|
||||
RenderElement::<TtyRenderer<'_>>::draw(&self.inner, frame, src, dst, damage, opaque_regions)
|
||||
let frame = frame.as_gles_frame();
|
||||
RenderElement::<GlesRenderer>::draw(self, frame, src, dst, damage, opaque_regions)?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn underlying_storage(
|
||||
|
||||
Reference in New Issue
Block a user