[client] ds: refactor common EGL swap with damage logic

This commit creates a new utility library, eglutil.h, which contains code
to detect and use EGL_KHR_swap_buffers_with_damage or its EXT equivalent.

This logic used to be duplicated between the X11 and Wayland display servers,
which is not ideal.
This commit is contained in:
Quantum
2021-07-19 04:01:19 -04:00
committed by Geoffrey McRae
parent a8d4668c4d
commit 0cbc529640
6 changed files with 129 additions and 77 deletions

View File

@@ -27,6 +27,7 @@
# include <wayland-egl.h>
# include <EGL/egl.h>
# include <EGL/eglext.h>
# include "eglutil.h"
#endif
#include "app.h"
@@ -101,10 +102,7 @@ struct WaylandDSState
#if defined(ENABLE_EGL) || defined(ENABLE_OPENGL)
struct wl_egl_window * eglWindow;
bool eglSwapWithDamageInit;
eglSwapBuffersWithDamageKHR_t eglSwapWithDamage;
EGLint * eglDamageRects;
int eglDamageRectCount;
struct SwapWithDamageData swapWithDamage;
#endif
#ifdef ENABLE_OPENGL