aboutsummaryrefslogtreecommitdiff
path: root/src/render_helpers/clipped_surface.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-06-18 12:19:23 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-06-18 14:01:34 +0300
commit66202992c9536c0e01395813f9a611aa111e5ded (patch)
treef76155ad6b1c49c7d409db776441d4cf4ae25f15 /src/render_helpers/clipped_surface.rs
parenteb59b10050d5806dd6dd42cfb9e93e1b65a24d4f (diff)
downloadniri-66202992c9536c0e01395813f9a611aa111e5ded.tar.gz
niri-66202992c9536c0e01395813f9a611aa111e5ded.tar.bz2
niri-66202992c9536c0e01395813f9a611aa111e5ded.zip
Fix blurry rounded corners on high scales
Diffstat (limited to 'src/render_helpers/clipped_surface.rs')
-rw-r--r--src/render_helpers/clipped_surface.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/render_helpers/clipped_surface.rs b/src/render_helpers/clipped_surface.rs
index 8e5259ed..f8d4e3aa 100644
--- a/src/render_helpers/clipped_surface.rs
+++ b/src/render_helpers/clipped_surface.rs
@@ -20,6 +20,8 @@ pub struct ClippedSurfaceRenderElement<R: NiriRenderer> {
corner_radius: CornerRadius,
geometry: Rectangle<f64, Logical>,
input_to_geo: Mat3,
+ // Should only be used for visual improvements, i.e. corner radius anti-aliasing.
+ scale: f32,
}
#[derive(Debug, Default, Clone)]
@@ -76,6 +78,7 @@ impl<R: NiriRenderer> ClippedSurfaceRenderElement<R> {
corner_radius,
geometry,
input_to_geo,
+ scale: scale.x as f32,
}
}
@@ -220,6 +223,7 @@ impl RenderElement<GlesRenderer> for ClippedSurfaceRenderElement<GlesRenderer> {
frame.override_default_tex_program(
self.program.clone(),
vec![
+ Uniform::new("niri_scale", self.scale),
Uniform::new(
"geo_size",
(self.geometry.size.w as f32, self.geometry.size.h as f32),