diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2018-10-21 10:11:20 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2018-10-24 19:00:58 +0200 |
commit | f796716b83554e3a213a0b1c688653712e94b9df (patch) | |
tree | e69e499bf6b147b4bd3cb4fc723dc36a3acd58a5 /3rdparty | |
parent | 40722c098d11d01dec727d1c1cbf507e54de7255 (diff) | |
download | nextpnr-f796716b83554e3a213a0b1c688653712e94b9df.tar.gz nextpnr-f796716b83554e3a213a0b1c688653712e94b9df.tar.bz2 nextpnr-f796716b83554e3a213a0b1c688653712e94b9df.zip |
Make imgui and qtgui compile on older qt as well, opengl 3.2 required
Diffstat (limited to '3rdparty')
-rw-r--r-- | 3rdparty/qtimgui/ImGuiRenderer.cpp | 13 | ||||
-rw-r--r-- | 3rdparty/qtimgui/ImGuiRenderer.h | 6 | ||||
-rw-r--r-- | 3rdparty/qtimgui/QtImGui.cpp | 2 |
3 files changed, 13 insertions, 8 deletions
diff --git a/3rdparty/qtimgui/ImGuiRenderer.cpp b/3rdparty/qtimgui/ImGuiRenderer.cpp index 7f19dcd1..21a2423a 100644 --- a/3rdparty/qtimgui/ImGuiRenderer.cpp +++ b/3rdparty/qtimgui/ImGuiRenderer.cpp @@ -39,6 +39,8 @@ QByteArray g_currentClipboardText; void ImGuiRenderer::initialize(WindowWrapper *window) { m_window.reset(window); initializeOpenGLFunctions(); + g_fun = new QOpenGLFunctions_3_3_Core(); + g_fun->initializeOpenGLFunctions(); ImGui::CreateContext(); @@ -59,6 +61,7 @@ void ImGuiRenderer::initialize(WindowWrapper *window) { g_currentClipboardText = QGuiApplication::clipboard()->text().toUtf8(); return (const char *)g_currentClipboardText.data(); }; + io.IniFilename = nullptr; window->installEventFilter(this); } @@ -114,7 +117,7 @@ void ImGuiRenderer::renderDrawList(ImDrawData *draw_data) glUseProgram(g_ShaderHandle); glUniform1i(g_AttribLocationTex, 0); glUniformMatrix4fv(g_AttribLocationProjMtx, 1, GL_FALSE, &ortho_projection[0][0]); - glBindVertexArray(g_VaoHandle); + g_fun->glBindVertexArray(g_VaoHandle); for (int n = 0; n < draw_data->CmdListsCount; n++) { @@ -148,7 +151,7 @@ void ImGuiRenderer::renderDrawList(ImDrawData *draw_data) glUseProgram(last_program); glBindTexture(GL_TEXTURE_2D, last_texture); glActiveTexture(last_active_texture); - glBindVertexArray(last_vertex_array); + g_fun->glBindVertexArray(last_vertex_array); glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, last_element_array_buffer); glBlendEquationSeparate(last_blend_equation_rgb, last_blend_equation_alpha); @@ -241,8 +244,8 @@ bool ImGuiRenderer::createDeviceObjects() glGenBuffers(1, &g_VboHandle); glGenBuffers(1, &g_ElementsHandle); - glGenVertexArrays(1, &g_VaoHandle); - glBindVertexArray(g_VaoHandle); + g_fun->glGenVertexArrays(1, &g_VaoHandle); + g_fun->glBindVertexArray(g_VaoHandle); glBindBuffer(GL_ARRAY_BUFFER, g_VboHandle); glEnableVertexAttribArray(g_AttribLocationPosition); glEnableVertexAttribArray(g_AttribLocationUV); @@ -259,7 +262,7 @@ bool ImGuiRenderer::createDeviceObjects() // Restore modified GL state glBindTexture(GL_TEXTURE_2D, last_texture); glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer); - glBindVertexArray(last_vertex_array); + g_fun->glBindVertexArray(last_vertex_array); return true; } diff --git a/3rdparty/qtimgui/ImGuiRenderer.h b/3rdparty/qtimgui/ImGuiRenderer.h index ca69ffaa..f0d7315e 100644 --- a/3rdparty/qtimgui/ImGuiRenderer.h +++ b/3rdparty/qtimgui/ImGuiRenderer.h @@ -1,6 +1,7 @@ #pragma once -#include <QOpenGLExtraFunctions> +#include <QOpenGLFunctions> +#include <QOpenGLFunctions_3_3_Core> #include <QObject> #include <QPoint> #include <imgui.h> @@ -22,7 +23,7 @@ public: virtual QPoint mapFromGlobal(const QPoint &p) const = 0; }; -class ImGuiRenderer : public QObject, QOpenGLExtraFunctions { +class ImGuiRenderer : public QObject, QOpenGLFunctions { Q_OBJECT public: void initialize(WindowWrapper *window); @@ -53,6 +54,7 @@ private: int g_AttribLocationTex = 0, g_AttribLocationProjMtx = 0; int g_AttribLocationPosition = 0, g_AttribLocationUV = 0, g_AttribLocationColor = 0; unsigned int g_VboHandle = 0, g_VaoHandle = 0, g_ElementsHandle = 0; + QOpenGLFunctions_3_3_Core *g_fun = nullptr; }; } diff --git a/3rdparty/qtimgui/QtImGui.cpp b/3rdparty/qtimgui/QtImGui.cpp index 97205389..6f5b0480 100644 --- a/3rdparty/qtimgui/QtImGui.cpp +++ b/3rdparty/qtimgui/QtImGui.cpp @@ -21,7 +21,7 @@ public: return w->size(); } qreal devicePixelRatio() const override { - return w->devicePixelRatioF(); + return w->devicePixelRatio(); } bool isActive() const override { return w->isActiveWindow(); |