aboutsummaryrefslogtreecommitdiffstats
path: root/3rdparty
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2018-10-21 10:11:20 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2018-10-24 19:00:58 +0200
commitf796716b83554e3a213a0b1c688653712e94b9df (patch)
treee69e499bf6b147b4bd3cb4fc723dc36a3acd58a5 /3rdparty
parent40722c098d11d01dec727d1c1cbf507e54de7255 (diff)
downloadnextpnr-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.cpp13
-rw-r--r--3rdparty/qtimgui/ImGuiRenderer.h6
-rw-r--r--3rdparty/qtimgui/QtImGui.cpp2
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();