Upgrade Smithay to pinned upstream Git

Pin 8a270232f1bfc416c781273c98a3f52a812a0bba and adapt protocol dispatch, input timestamps, configure state and rendering APIs. Preserve custom lock and toplevel validation, compositor-owned key repeats, and valid layer remapping sequences.

Add native icon-buffer lifecycle regressions for the GoLand and Spotify launch failure.
This commit is contained in:
Samuel Onoja committed 2026-10-20 15:40:34 +01:00
1 parent 17df20089b
commit 90879145b2
44 files changed
+1069 -634

No files matched your search

+2
View File
@@ -832,6 +832,7 @@ fn window_tint_does_not_inherit_panel_geometry() {
geometry,
&[Rectangle::from_size(geometry.size)],
&[],
None,
)
.unwrap();
let _ = frame.finish().unwrap();
@@ -845,6 +846,7 @@ fn window_tint_does_not_inherit_panel_geometry() {
let output = Output::new(
"tint-test".into(),
PhysicalProperties {
serial_number: String::new(),
size: (0, 0).into(),
subpixel: Subpixel::Unknown,
make: "test".into(),
+4 -2
View File
@@ -243,6 +243,7 @@ impl RenderElement<GlesRenderer> for BlurRenderElement {
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
opaque_regions: &[Rectangle<i32, Physical>],
_cache: Option<&smithay::utils::user_data::UserDataMap>,
) -> Result<(), GlesError> {
let texture = self.texture.tex_id();
let [x, y, width, height] = self.capture_rect;
@@ -558,6 +559,7 @@ impl RenderElement<GlesRenderer> for RoundedSurfaceRenderElement {
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
opaque_regions: &[Rectangle<i32, Physical>],
_cache: Option<&smithay::utils::user_data::UserDataMap>,
) -> Result<(), GlesError> {
match self.inner.texture() {
WaylandSurfaceTexture::Texture(texture) => frame.render_texture_from_to(
@@ -1036,8 +1038,8 @@ mod tests {
for y in [geometry.loc.y, geometry.loc.y + geometry.size.h] {
let nx = 2.0 * x as f32 / element_size.w as f32 - 1.0;
let ny = 1.0 - 2.0 * y as f32 / element_size.h as f32;
let tx = matrix[0][0] * nx + matrix[1][0] * ny;
let ty = matrix[0][1] * nx + matrix[1][1] * ny;
let tx = matrix.matrix2.x_axis.x * nx + matrix.matrix2.y_axis.x * ny;
let ty = matrix.matrix2.x_axis.y * nx + matrix.matrix2.y_axis.y * ny;
xs.push((tx + 1.0) * output_size.w as f32 / 2.0);
ys.push((1.0 - ty) * output_size.h as f32 / 2.0);
}
+7 -1
View File
@@ -351,7 +351,13 @@ fn scene_elements(
elements.push(shadow.into());
}
} else {
elements.extend(constrain_space_element::<GlesRenderer, _, AnimatedWindowRenderElement>(
elements.extend(constrain_space_element::<
GlesRenderer,
_,
AnimatedWindowRenderElement,
_,
_,
>(
renderer,
&window,
constrain.loc,
+4 -1
View File
@@ -107,6 +107,7 @@ impl RenderElement<GlesRenderer> for SharedPixelShaderElement {
dst: Rectangle<i32, Physical>,
damage: &[Rectangle<i32, Physical>],
_opaque: &[Rectangle<i32, Physical>],
_cache: Option<&smithay::utils::user_data::UserDataMap>,
) -> Result<(), GlesError> {
frame.render_pixel_shader_to(
&self.shader,
@@ -143,7 +144,9 @@ mod tests {
.render(&mut target, (32, 32).into(), Transform::Normal)
.unwrap();
frame.clear(Color32F::TRANSPARENT, &[rect]).unwrap();
element.draw(&mut frame, element.src(), rect, &[rect], &[]).unwrap();
element
.draw(&mut frame, element.src(), rect, &[rect], &[], None)
.unwrap();
let _ = frame.finish().unwrap();
}
+1
View File
@@ -67,6 +67,7 @@ mod tests {
let output = Output::new(
"snapshot-test".into(),
PhysicalProperties {
serial_number: String::new(),
size: (0, 0).into(),
subpixel: Subpixel::Unknown,
make: "test".into(),