X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=main.cpp;h=d0427d1489a353ffb720462051d537d08f8822a4;hb=9e47a2f661b9d292598ef0277e507458e3dad62f;hp=f0f70ac8c71b3084284cac4a445fa1332d776178;hpb=3eca4b6fc37bba5c4204bb7716764f2d962fba60;p=nageru diff --git a/main.cpp b/main.cpp index f0f70ac..d0427d1 100644 --- a/main.cpp +++ b/main.cpp @@ -5,14 +5,15 @@ extern "C" { #include #include #include -#include - +#include // IWYU pragma: keep #include #include #include #include #include +#include +#include "basic_stats.h" #include "context.h" #include "flags.h" #include "image_input.h" @@ -21,13 +22,14 @@ extern "C" { int main(int argc, char *argv[]) { - parse_flags(argc, argv); + parse_flags(PROGRAM_NAGERU, argc, argv); if (global_flags.va_display.empty() || global_flags.va_display[0] != '/') { // 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 +53,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,6 +73,9 @@ 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; } int rc = app.exec();