[client] egl: only copy damaged areas when using dmabuf

This speeds up the copy significantly when the frame only has small
amount of damage.
This commit is contained in:
Quantum
2021-07-18 03:33:53 -04:00
committed by Geoffrey McRae
parent 09893fd728
commit a14de25661
7 changed files with 35 additions and 18 deletions

View File

@@ -22,6 +22,7 @@
#include <stdbool.h>
#include "common/types.h"
#include "interface/renderer.h"
typedef struct EGL_Desktop EGL_Desktop;
@@ -40,7 +41,8 @@ bool egl_desktop_init(EGL_Desktop ** desktop, EGLDisplay * display);
void egl_desktop_free(EGL_Desktop ** desktop);
bool egl_desktop_setup (EGL_Desktop * desktop, const LG_RendererFormat format, bool useDMA);
bool egl_desktop_update(EGL_Desktop * desktop, const FrameBuffer * frame, int dmaFd);
bool egl_desktop_update(EGL_Desktop * desktop, const FrameBuffer * frame, int dmaFd,
const FrameDamageRect * rects, int rectsCount);
bool egl_desktop_render(EGL_Desktop * desktop, const float x, const float y,
const float scaleX, const float scaleY, enum EGL_DesktopScaleType scaleType,
LG_RendererRotate rotate);