X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=main.cpp;h=9177025faca57ff6c8cc3ce306b8abb9a6976e39;hb=35efc9e3149028e6c65dceb46f60490448dcbd9f;hp=f0f70ac8c71b3084284cac4a445fa1332d776178;hpb=3eca4b6fc37bba5c4204bb7716764f2d962fba60;p=nageru diff --git a/main.cpp b/main.cpp index f0f70ac..9177025 100644 --- a/main.cpp +++ b/main.cpp @@ -5,13 +5,13 @@ extern "C" { #include #include #include -#include - +#include // IWYU pragma: keep #include #include #include #include #include +#include #include "context.h" #include "flags.h" @@ -28,6 +28,7 @@ int main(int argc, char *argv[]) // We normally use EGL for zerocopy, but if we use VA against DRM // instead of against X11, we turn it off, and then don't need EGL. setenv("QT_XCB_GL_INTEGRATION", "xcb_egl", 0); + using_egl = true; } setlinebuf(stdout); av_register_all(); @@ -51,9 +52,13 @@ int main(int argc, char *argv[]) QGLFormat::setDefaultFormat(QGLFormat::fromSurfaceFormat(fmt)); global_share_widget = new QGLWidget(); + if (!global_share_widget->isValid()) { + fprintf(stderr, "Failed to initialize OpenGL. Nageru needs at least OpenGL 3.1 to function properly.\n"); + exit(1); + } MainWindow mainWindow; - mainWindow.resize(QSize(1500, 810)); + mainWindow.resize(QSize(1500, 850)); mainWindow.show(); app.installEventFilter(&mainWindow); // For white balance color picking. @@ -67,8 +72,13 @@ int main(int argc, char *argv[]) fprintf(stderr, "Failed to lock Nageru into RAM. You probably want to\n"); fprintf(stderr, "increase \"memlock\" for your user in limits.conf\n"); fprintf(stderr, "for better realtime behavior.\n"); + uses_mlock = false; + } else { + uses_mlock = true; } + pthread_setname_np(pthread_self(), "Nageru_UI"); + int rc = app.exec(); global_mixer->quit(); mainWindow.mixer_shutting_down();