summaryrefslogtreecommitdiff
path: root/src/protocols/core/Compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/core/Compositor.cpp')
-rw-r--r--src/protocols/core/Compositor.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp
index 06977338..f7af9504 100644
--- a/src/protocols/core/Compositor.cpp
+++ b/src/protocols/core/Compositor.cpp
@@ -439,9 +439,8 @@ void CWLSurfaceResource::unlockPendingState() {
}
void CWLSurfaceResource::commitPendingState() {
- static auto PDROP = CConfigValue<Hyprlang::INT>("render:allow_early_buffer_release");
- auto const previousBuffer = current.buffer;
- current = pending;
+ static auto PDROP = CConfigValue<Hyprlang::INT>("render:allow_early_buffer_release");
+ current = pending;
pending.damage.clear();
pending.bufferDamage.clear();
pending.newBuffer = false;
@@ -495,15 +494,6 @@ void CWLSurfaceResource::commitPendingState() {
nullptr);
}
- // for async buffers, we can only release the buffer once we are unrefing it from current.
- // if the backend took it, ref it with the lambda. Otherwise, the end of this scope will release it.
- if (previousBuffer && previousBuffer->buffer && !previousBuffer->buffer->isSynchronous()) {
- if (previousBuffer->buffer->lockedByBackend && !previousBuffer->buffer->hlEvents.backendRelease) {
- previousBuffer->buffer->lock();
- previousBuffer->buffer->unlockOnBufferRelease(self);
- }
- }
-
lastBuffer = current.buffer ? current.buffer->buffer : WP<IHLBuffer>{};
}