#pragma once #include #include #include #include #include "../memory/Memory.hpp" /* A helper (inspired by KDE's KWin) that will release the timeline point in the dtor */ class CSyncTimeline; class CEGLSync; class CSyncReleaser { public: CSyncReleaser(WP timeline_, uint64_t point_); ~CSyncReleaser(); // drops the releaser, will never signal anymore void drop(); // wait for this gpu job to finish before releasing void addReleaseSync(SP sync); private: WP timeline; uint64_t point = 0; SP sync; };