Closed ghost closed 1 year ago
Thank you very much @simplejack-src. Can I merge it or are we waiting feedback from someone?
It works for me(TM) :). @WallaceIT see anything out of place?
Seems very well done! I don't have time nor means to test it since I'm travelling, though.
Thanks for taking a look @WallaceIT.
I'll merge it now then. Please open a new issue if you find an issues later.
Allowing backing buffers to be allocated on demand. In addition, the shared memory manager tracks buffer acquisition history (in Wayland EGL parlance 'buffer age'), allowing the acquiring code to perform a delta initialization (apply changes from previously acquired buffers to the most recent, as oppose to a full buffer initialization). In particular, the shared memory manager, maintains a shared memory pool, wherein individual buffers, belonging to separate buffer groups (which all have the same size) are allocated from. A LRU cache is then used on top of this to keep a hot cycle (i.e. swap chain) available. Finally, the acquiring code, caches individual buffer damage in a ring buffer to be able to apply the aforementioned delta initialization.
This PR is my completion of the work started in #250.
Notes: