summaryrefslogtreecommitdiff
path: root/src/protocols/core/Compositor.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-07-22 13:01:55 +0200
committerVaxry <vaxry@vaxry.net>2024-07-22 13:01:55 +0200
commit1797319a0785cf9ae4f406d40bc27b032c6f5fb2 (patch)
tree95c5f204e9abbc5e5828ebb81d9f64e64e7861ed /src/protocols/core/Compositor.cpp
parent5979ceb56b165ee35809a0eeda5f4be1aedbb7b6 (diff)
renderer: untransform textures matching display transform
fixes #6754 This will break if the client uses a transform that is not equal to the display, reverting to old behavior. Combining transforms is left as a todo for the future.
Diffstat (limited to 'src/protocols/core/Compositor.cpp')
-rw-r--r--src/protocols/core/Compositor.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp
index 12647811..f1c83531 100644
--- a/src/protocols/core/Compositor.cpp
+++ b/src/protocols/core/Compositor.cpp
@@ -406,6 +406,9 @@ void CWLSurfaceResource::commitPendingState() {
pending.damage.clear();
pending.bufferDamage.clear();
+ if (current.buffer && current.buffer->texture)
+ current.buffer->texture->m_eTransform = wlTransformToHyprutils(current.transform);
+
if (current.buffer && !bufferReleased) {
current.buffer->update(accumulateCurrentBufferDamage());