chore(render): use Affine2 where possible

This commit is contained in:
Vukašin Vojinović 2026-07-20 15:57:59 +02:00 • committed by Victoria Brekenfeld
parent 8955024bff
commit 60137c0d9e
5 changed files with 31 additions and 26 deletions

View file

@ -3,7 +3,7 @@ use std::{
sync::{LazyLock, Mutex},
};
use glam::{Mat3, Vec2};
use glam::{Affine2, Mat3, Vec2};
use smithay::{
backend::{
allocator::Fourcc,
@ -231,16 +231,16 @@ impl BlurElement {
// compute input_to_geo so that it crops the extended capture radius
let geo_scale = {
let Scale { x, y } = geo.size / extended_geo.size;
Mat3::from_scale(Vec2::new(x as f32, y as f32)).inverse()
Affine2::from_scale(Vec2::new(x as f32, y as f32)).inverse()
};
let geo_translation = {
let offset = geo.loc - extended_geo.loc;
Mat3::from_translation(-Vec2::new(
Affine2::from_translation(-Vec2::new(
(offset.x / extended_geo.size.w) as f32,
(offset.y / extended_geo.size.h) as f32,
))
};
let input_to_geo = geo_scale * geo_translation;
let input_to_geo = Mat3::from(geo_scale * geo_translation);
let uniforms = vec![
Uniform::new("geo_size", (geometry.size.w as f32, geometry.size.h as f32)),