This commit is contained in:
Vaxry 2024-08-06 14:51:39 +02:00
parent 683a0e1584
commit fa069bc4ce
3 changed files with 6 additions and 5 deletions

View File

@ -47,7 +47,7 @@ CDRMSyncobjSurfaceResource::CDRMSyncobjSurfaceResource(SP<CWpLinuxDrmSyncobjSurf
return;
}
if (!surface->pending.texture)
if (!surface->pending.newBuffer)
return; // this commit does not change the state here
if (!!pending.acquireTimeline != !!pending.releaseTimeline) {

View File

@ -70,7 +70,8 @@ CWLSurfaceResource::CWLSurfaceResource(SP<CWlSurface> resource_) : resource(reso
resource->setOnDestroy([this](CWlSurface* r) { destroy(); });
resource->setAttach([this](CWlSurface* r, wl_resource* buffer, int32_t x, int32_t y) {
pending.offset = {x, y};
pending.offset = {x, y};
pending.newBuffer = true;
if (!buffer) {
pending.buffer.reset();
@ -429,8 +430,7 @@ void CWLSurfaceResource::commitPendingState() {
current = pending;
pending.damage.clear();
pending.bufferDamage.clear();
pending.texture.reset();
pending.buffer.reset();
pending.newBuffer = false;
if (syncobj && syncobj->current.releaseTimeline && syncobj->current.releaseTimeline->timeline && current.buffer && current.buffer->buffer)
current.buffer->releaser = makeShared<CSyncReleaser>(syncobj->current.releaseTimeline->timeline, syncobj->current.releasePoint);

View File

@ -97,7 +97,8 @@ class CWLSurfaceResource {
Vector2D destination;
CBox source;
} viewport;
bool rejected = false;
bool rejected = false;
bool newBuffer = false;
//
void reset() {