aboutsummaryrefslogtreecommitdiffstats
path: root/gui
diff options
context:
space:
mode:
authorAdrian Jeakins <jeakinsadrian@gmail.com>2018-12-05 22:27:04 +0000
committerAdrian Jeakins <jeakinsadrian@gmail.com>2018-12-05 22:27:04 +0000
commit38f80b10486bb7f10873d327564bfe075cabe54d (patch)
treec0723511dfb1041a2ccb8fbcb4231b54e8f94d31 /gui
parenta6315833d3ca7eac414b8496d8ff12a7f30a4145 (diff)
downloadnextpnr-38f80b10486bb7f10873d327564bfe075cabe54d.tar.gz
nextpnr-38f80b10486bb7f10873d327564bfe075cabe54d.tar.bz2
nextpnr-38f80b10486bb7f10873d327564bfe075cabe54d.zip
Fix device view not showing anything on macOS.
* Fix line shader when running under the core profile and make version match those elsewhere. * Make surface format version match the openGL functions we are using.
Diffstat (limited to 'gui')
-rw-r--r--gui/application.cc4
-rw-r--r--gui/lineshader.h13
2 files changed, 11 insertions, 6 deletions
diff --git a/gui/application.cc b/gui/application.cc
index 7751e6f1..3cf8081d 100644
--- a/gui/application.cc
+++ b/gui/application.cc
@@ -42,6 +42,10 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
QSurfaceFormat fmt;
fmt.setSamples(10);
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);
#ifdef _WIN32
SetConsoleCtrlHandler((PHANDLER_ROUTINE)WinHandler, TRUE);
diff --git a/gui/lineshader.h b/gui/lineshader.h
index 98042051..74203261 100644
--- a/gui/lineshader.h
+++ b/gui/lineshader.h
@@ -172,10 +172,10 @@ class LineShader
LineShader(QObject *parent) : parent_(parent), program_(nullptr) {}
static constexpr const char *vertexShaderSource_ =
- "#version 110\n"
- "attribute highp vec2 position;\n"
- "attribute highp vec2 normal;\n"
- "attribute highp float miter;\n"
+ "#version 330\n"
+ "in highp vec2 position;\n"
+ "in highp vec2 normal;\n"
+ "in highp float miter;\n"
"uniform highp float thickness;\n"
"uniform highp mat4 projection;\n"
"void main() {\n"
@@ -183,10 +183,11 @@ class LineShader
" gl_Position = projection * vec4(p, 0.0, 1.0);\n"
"}\n";
- static constexpr const char *fragmentShaderSource_ = "#version 110\n"
+ static constexpr const char *fragmentShaderSource_ = "#version 330\n"
"uniform lowp vec4 color;\n"
+ "out vec4 Out_Color;\n"
"void main() {\n"
- " gl_FragColor = color;\n"
+ " Out_Color = color;\n"
"}\n";
// Must be called on initialization.