UI: Set the Unix platform on startup
Move the OBS_USE_EGL environment variable check to obs-app.cpp, and set the OBS platform to be either OBS_NIX_PLATFORM_X11_GLX or OBS_NIX_PLATFORM_X11_EGL.
This commit is contained in:
parent
506b950d02
commit
27d0182fdb
@ -1392,6 +1392,10 @@ bool OBSApp::OBSInit()
|
||||
#if !defined(_WIN32) && !defined(__APPLE__)
|
||||
obs_set_nix_platform(OBS_NIX_PLATFORM_X11_GLX);
|
||||
if (QApplication::platformName() == "xcb") {
|
||||
if (getenv("OBS_USE_EGL")) {
|
||||
blog(LOG_INFO, "Using EGL/X11");
|
||||
obs_set_nix_platform(OBS_NIX_PLATFORM_X11_EGL);
|
||||
}
|
||||
obs_set_nix_platform_display(QX11Info::display());
|
||||
}
|
||||
#endif
|
||||
|
@ -25,11 +25,13 @@ static void init_winsys(void)
|
||||
{
|
||||
assert(gl_vtable == NULL);
|
||||
|
||||
if (getenv("OBS_USE_EGL")) {
|
||||
gl_vtable = gl_x11_egl_get_winsys_vtable();
|
||||
blog(LOG_INFO, "Using EGL/X11");
|
||||
} else {
|
||||
switch (obs_get_nix_platform()) {
|
||||
case OBS_NIX_PLATFORM_X11_GLX:
|
||||
gl_vtable = gl_x11_glx_get_winsys_vtable();
|
||||
break;
|
||||
case OBS_NIX_PLATFORM_X11_EGL:
|
||||
gl_vtable = gl_x11_egl_get_winsys_vtable();
|
||||
break;
|
||||
}
|
||||
|
||||
assert(gl_vtable != NULL);
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <obs-nix-platform.h>
|
||||
|
||||
#include "gl-subsystem.h"
|
||||
|
||||
struct gl_winsys_vtable {
|
||||
|
Loading…
x
Reference in New Issue
Block a user