fix: apply transform to damage before blitting
This commit is contained in:
parent
91bc1c00bf
commit
8d5541b27f
1 changed files with 11 additions and 1 deletions
|
|
@ -1205,13 +1205,23 @@ impl SurfaceThreadState {
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.flatten();
|
.flatten();
|
||||||
|
|
||||||
|
// If the screen is rotated, we must convert damage to match output.
|
||||||
|
let adjusted = damage.iter().copied().map(|mut d| {
|
||||||
|
d.size = d
|
||||||
|
.size
|
||||||
|
.to_logical(1)
|
||||||
|
.to_buffer(1, output_transform)
|
||||||
|
.to_logical(1, Transform::Normal)
|
||||||
|
.to_physical(1);
|
||||||
|
d
|
||||||
|
});
|
||||||
match frame_result
|
match frame_result
|
||||||
.blit_frame_result(
|
.blit_frame_result(
|
||||||
output_size,
|
output_size,
|
||||||
output_transform,
|
output_transform,
|
||||||
output_scale,
|
output_scale,
|
||||||
&mut renderer,
|
&mut renderer,
|
||||||
damage.iter().copied(),
|
adjusted,
|
||||||
filter,
|
filter,
|
||||||
)
|
)
|
||||||
.map_err(|err| match err {
|
.map_err(|err| match err {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue