mirror of
https://github.com/moonlight-stream/moonlight-qt
synced 2024-12-15 22:02:29 +00:00
0a396f3112
Right now this renderer works on X11 & Wayland with VAAPI as a backend. Some rendering latency benchmarks on my `i7-10510U` (with `intel-media-driver` 20.1.1 which cause a *huge* regression with the SDL_Renderer): | | X11 | Wayland | | Before | 6.78ms | 22.50ms | | EGLRenderer | 0.76ms | 00.77ms | Signed-off-by: Antoine Damhet <antoine.damhet@lse.epita.fr>
23 lines
654 B
C++
23 lines
654 B
C++
// vim: noai:ts=4:sw=4:softtabstop=4:expandtab
|
|
#define GL_GLEXT_PROTOTYPES
|
|
|
|
#include "renderer.h"
|
|
|
|
#include <SDL_egl.h>
|
|
|
|
static QStringList egl_get_extensions(EGLDisplay dpy) {
|
|
const auto EGLExtensionsStr = eglQueryString(dpy, EGL_EXTENSIONS);
|
|
if (!EGLExtensionsStr) {
|
|
SDL_LogWarn(SDL_LOG_CATEGORY_APPLICATION, "Unable to get EGL extensions");
|
|
return QStringList();
|
|
}
|
|
return QString(EGLExtensionsStr).split(" ");
|
|
}
|
|
|
|
EGLExtensions::EGLExtensions(EGLDisplay dpy) :
|
|
m_Extensions(egl_get_extensions(dpy))
|
|
{}
|
|
|
|
bool EGLExtensions::isSupported(const QString &extension) const {
|
|
return m_Extensions.contains(extension);
|
|
}
|