Merge pull request #169 from ajeakins/master
Fix device view not showing anything on macOS.
This commit is contained in:
commit
0d1c7118e3
@ -20,6 +20,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
|
#include "log.h"
|
||||||
|
#include <QOpenGLContext>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QSurfaceFormat>
|
#include <QSurfaceFormat>
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
@ -42,7 +44,22 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
|
|||||||
QSurfaceFormat fmt;
|
QSurfaceFormat fmt;
|
||||||
fmt.setSamples(10);
|
fmt.setSamples(10);
|
||||||
fmt.setProfile(QSurfaceFormat::CoreProfile);
|
fmt.setProfile(QSurfaceFormat::CoreProfile);
|
||||||
|
// macOS is very picky about this version matching
|
||||||
|
// the version of openGL used in ImGuiRenderer
|
||||||
|
fmt.setMajorVersion(3);
|
||||||
|
fmt.setMinorVersion(2);
|
||||||
QSurfaceFormat::setDefaultFormat(fmt);
|
QSurfaceFormat::setDefaultFormat(fmt);
|
||||||
|
|
||||||
|
QOpenGLContext glContext;
|
||||||
|
fmt = glContext.format();
|
||||||
|
if (fmt.majorVersion() < 3) {
|
||||||
|
printf("Could not get OpenGL 3.0 context. Aborting.\n");
|
||||||
|
log_abort();
|
||||||
|
}
|
||||||
|
if (fmt.minorVersion() < 2) {
|
||||||
|
printf("Could not get OpenGL 3.2 context - trying anyway...\n ");
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
SetConsoleCtrlHandler((PHANDLER_ROUTINE)WinHandler, TRUE);
|
SetConsoleCtrlHandler((PHANDLER_ROUTINE)WinHandler, TRUE);
|
||||||
#endif
|
#endif
|
||||||
|
@ -59,20 +59,6 @@ FPGAViewWidget::FPGAViewWidget(QWidget *parent)
|
|||||||
rendererArgs_->gridChanged = false;
|
rendererArgs_->gridChanged = false;
|
||||||
rendererArgs_->zoomOutbound = true;
|
rendererArgs_->zoomOutbound = true;
|
||||||
|
|
||||||
auto fmt = format();
|
|
||||||
fmt.setMajorVersion(3);
|
|
||||||
fmt.setMinorVersion(2);
|
|
||||||
setFormat(fmt);
|
|
||||||
|
|
||||||
fmt = format();
|
|
||||||
if (fmt.majorVersion() < 3) {
|
|
||||||
printf("Could not get OpenGL 3.0 context. Aborting.\n");
|
|
||||||
log_abort();
|
|
||||||
}
|
|
||||||
if (fmt.minorVersion() < 2) {
|
|
||||||
printf("Could not get OpenGL 3.2 context - trying anyway...\n ");
|
|
||||||
}
|
|
||||||
|
|
||||||
connect(&paintTimer_, SIGNAL(timeout()), this, SLOT(update()));
|
connect(&paintTimer_, SIGNAL(timeout()), this, SLOT(update()));
|
||||||
paintTimer_.start(1000 / 20); // paint GL 20 times per second
|
paintTimer_.start(1000 / 20); // paint GL 20 times per second
|
||||||
|
|
||||||
|
@ -172,10 +172,10 @@ class LineShader
|
|||||||
LineShader(QObject *parent) : parent_(parent), program_(nullptr) {}
|
LineShader(QObject *parent) : parent_(parent), program_(nullptr) {}
|
||||||
|
|
||||||
static constexpr const char *vertexShaderSource_ =
|
static constexpr const char *vertexShaderSource_ =
|
||||||
"#version 110\n"
|
"#version 150\n"
|
||||||
"attribute highp vec2 position;\n"
|
"in highp vec2 position;\n"
|
||||||
"attribute highp vec2 normal;\n"
|
"in highp vec2 normal;\n"
|
||||||
"attribute highp float miter;\n"
|
"in highp float miter;\n"
|
||||||
"uniform highp float thickness;\n"
|
"uniform highp float thickness;\n"
|
||||||
"uniform highp mat4 projection;\n"
|
"uniform highp mat4 projection;\n"
|
||||||
"void main() {\n"
|
"void main() {\n"
|
||||||
@ -183,10 +183,11 @@ class LineShader
|
|||||||
" gl_Position = projection * vec4(p, 0.0, 1.0);\n"
|
" gl_Position = projection * vec4(p, 0.0, 1.0);\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
static constexpr const char *fragmentShaderSource_ = "#version 110\n"
|
static constexpr const char *fragmentShaderSource_ = "#version 150\n"
|
||||||
"uniform lowp vec4 color;\n"
|
"uniform lowp vec4 color;\n"
|
||||||
|
"out vec4 Out_Color;\n"
|
||||||
"void main() {\n"
|
"void main() {\n"
|
||||||
" gl_FragColor = color;\n"
|
" Out_Color = color;\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
// Must be called on initialization.
|
// Must be called on initialization.
|
||||||
|
Loading…
Reference in New Issue
Block a user