aboutsummaryrefslogtreecommitdiff
path: root/src/render_helpers/resize.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-04 09:49:32 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-05-04 09:49:32 +0400
commit69aeba2a4d93b34eb24319c3694ad354dc608a87 (patch)
treeb335e96feaa41792f4ec8d54a78213209daf029a /src/render_helpers/resize.rs
parent7aab41304860a7b3a5db89d3dd0657e7d4f89989 (diff)
downloadniri-69aeba2a4d93b34eb24319c3694ad354dc608a87.tar.gz
niri-69aeba2a4d93b34eb24319c3694ad354dc608a87.tar.bz2
niri-69aeba2a4d93b34eb24319c3694ad354dc608a87.zip
shader_element: Store and set location separately
Diffstat (limited to 'src/render_helpers/resize.rs')
-rw-r--r--src/render_helpers/resize.rs49
1 files changed, 26 insertions, 23 deletions
diff --git a/src/render_helpers/resize.rs b/src/render_helpers/resize.rs
index 7eaec7e4..a0d7f5c7 100644
--- a/src/render_helpers/resize.rs
+++ b/src/render_helpers/resize.rs
@@ -85,29 +85,32 @@ impl ResizeRenderElement {
let clip_to_geometry = if clip_to_geometry { 1. } else { 0. };
// Create the shader.
- Self(ShaderRenderElement::new(
- ProgramType::Resize,
- area,
- None,
- result_alpha,
- vec![
- mat3_uniform("niri_input_to_curr_geo", input_to_curr_geo),
- mat3_uniform("niri_curr_geo_to_prev_geo", curr_geo_to_prev_geo),
- mat3_uniform("niri_curr_geo_to_next_geo", curr_geo_to_next_geo),
- Uniform::new("niri_curr_geo_size", curr_geo_size.to_array()),
- mat3_uniform("niri_geo_to_tex_prev", geo_to_tex_prev),
- mat3_uniform("niri_geo_to_tex_next", geo_to_tex_next),
- Uniform::new("niri_progress", progress),
- Uniform::new("niri_clamped_progress", clamped_progress),
- Uniform::new("niri_corner_radius", <[f32; 4]>::from(corner_radius)),
- Uniform::new("niri_clip_to_geometry", clip_to_geometry),
- ],
- HashMap::from([
- (String::from("niri_tex_prev"), texture_prev),
- (String::from("niri_tex_next"), texture_next),
- ]),
- Kind::Unspecified,
- ))
+ Self(
+ ShaderRenderElement::new(
+ ProgramType::Resize,
+ area.size,
+ None,
+ result_alpha,
+ vec![
+ mat3_uniform("niri_input_to_curr_geo", input_to_curr_geo),
+ mat3_uniform("niri_curr_geo_to_prev_geo", curr_geo_to_prev_geo),
+ mat3_uniform("niri_curr_geo_to_next_geo", curr_geo_to_next_geo),
+ Uniform::new("niri_curr_geo_size", curr_geo_size.to_array()),
+ mat3_uniform("niri_geo_to_tex_prev", geo_to_tex_prev),
+ mat3_uniform("niri_geo_to_tex_next", geo_to_tex_next),
+ Uniform::new("niri_progress", progress),
+ Uniform::new("niri_clamped_progress", clamped_progress),
+ Uniform::new("niri_corner_radius", <[f32; 4]>::from(corner_radius)),
+ Uniform::new("niri_clip_to_geometry", clip_to_geometry),
+ ],
+ HashMap::from([
+ (String::from("niri_tex_prev"), texture_prev),
+ (String::from("niri_tex_next"), texture_next),
+ ]),
+ Kind::Unspecified,
+ )
+ .with_location(area.loc),
+ )
}
pub fn has_shader(renderer: &mut impl NiriRenderer) -> bool {