mirror of
https://github.com/gnif/LookingGlass.git
synced 2025-08-09 20:24:14 +00:00
[client] egl: use eglSwapBuffersWithDamageKHR for cursor-only updates
Instead of damaging the entire surface when rendering a cursor move, we can use the EGL_KHR_swap_buffers_with_damage extension to only damage the part of the window covered by the cursor. This should reduce the cursor movement latency on Wayland.
This commit is contained in:
@@ -448,9 +448,9 @@ EGLNativeWindowType app_getEGLNativeWindow(void)
|
||||
return g_state.ds->getEGLNativeWindow();
|
||||
}
|
||||
|
||||
void app_eglSwapBuffers(EGLDisplay display, EGLSurface surface)
|
||||
void app_eglSwapBuffers(EGLDisplay display, EGLSurface surface, const struct Rect * damage, int count)
|
||||
{
|
||||
g_state.ds->eglSwapBuffers(display, surface);
|
||||
g_state.ds->eglSwapBuffers(display, surface, damage, count);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@@ -31,6 +31,10 @@ void egl_dynProcsInit(void)
|
||||
eglGetProcAddress("eglGetPlatformDisplayEXT");
|
||||
g_egl_dynProcs.glEGLImageTargetTexture2DOES = (glEGLImageTargetTexture2DOES_t)
|
||||
eglGetProcAddress("glEGLImageTargetTexture2DOES");
|
||||
g_egl_dynProcs.eglSwapBuffersWithDamageKHR = (eglSwapBuffersWithDamageKHR_t)
|
||||
eglGetProcAddress("eglSwapBuffersWithDamageKHR");
|
||||
g_egl_dynProcs.eglSwapBuffersWithDamageEXT = (eglSwapBuffersWithDamageKHR_t)
|
||||
eglGetProcAddress("eglSwapBuffersWithDamageEXT");
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user