looking-glass/client/renderers/EGL
Quantum 30a888711b [client] egl: force DMA copy into texture in on_frame
This commit forces the DMA'd memory to be copied into the texture in
the EGL on_frame handler. This avoids tearing when the LG host inevitably
updates the underlying memory. We need an additional copy inside the GPU,
but this is cheap compared to copying from system memory.

We could have used logic to lock the memory buffer, but that would require
performing DMA on every frame, which wastes memory bandwidth. This
manifests as reduced frame rate when moving the mouse compared to the
non-DMA implementation.

We also keep multiple EGLImages, one for each DMA fd, to avoid issues
with the OpenGL driver.
2021-02-21 10:31:48 +11:00
..
shader [client] egl: create 24-bit colour context 2021-02-21 10:31:48 +11:00
alert.c [client] egl: added DMA texture support for direct upload 2020-10-30 02:36:45 +11:00
alert.h [client] use cmake to generate renderers/fonts/clipboards headers/code 2019-03-28 19:56:14 +11:00
CMakeLists.txt [client] renderer/egl: implement support for rendering help text 2021-02-21 10:31:48 +11:00
cursor.c [client] all: properly support guest rotation 2021-01-19 02:54:56 +11:00
cursor.h [client] all: properly support guest rotation 2021-01-19 02:54:56 +11:00
desktop.c [client] keybind: add descriptions for all keybindings 2021-02-21 10:31:48 +11:00
desktop.h [client] all: properly support guest rotation 2021-01-19 02:54:56 +11:00
draw.c [client] use cmake to generate renderers/fonts/clipboards headers/code 2019-03-28 19:56:14 +11:00
draw.h [client] use cmake to generate renderers/fonts/clipboards headers/code 2019-03-28 19:56:14 +11:00
egl.c [client] renderer: add ability to toggle the FPS display 2021-02-21 10:31:48 +11:00
egldebug.c [client] egl: better debug output for EGL errors 2021-01-24 13:17:11 +11:00
egldebug.h [client] egl: better debug output for EGL errors 2021-01-24 13:17:11 +11:00
fps.c [client] renderer: add ability to toggle the FPS display 2021-02-21 10:31:48 +11:00
fps.h [client] renderer: add ability to toggle the FPS display 2021-02-21 10:31:48 +11:00
help.c [client] egl: fix race condition in help overlay 2021-02-21 10:31:48 +11:00
help.h [client] renderer/egl: implement support for rendering help text 2021-02-21 10:31:48 +11:00
model.c [client/common] restructure project in prep for full SDL removal 2021-02-21 10:31:46 +11:00
model.h [client] use cmake to generate renderers/fonts/clipboards headers/code 2019-03-28 19:56:14 +11:00
shader.c [client/common] restructure project in prep for full SDL removal 2021-02-21 10:31:46 +11:00
shader.h [client] added missing include 2019-07-15 18:30:39 +10:00
splash.c [client] egl: always render desktop texture as opaque 2021-02-21 10:31:48 +11:00
splash.h [client] use cmake to generate renderers/fonts/clipboards headers/code 2019-03-28 19:56:14 +11:00
texture.c [client] egl: force DMA copy into texture in on_frame 2021-02-21 10:31:48 +11:00
texture.h [client] egl: added DMA texture support for direct upload 2020-10-30 02:36:45 +11:00