aboutsummaryrefslogtreecommitdiffstats
path: root/gui/fpgaviewwidget.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-06-23 15:16:37 +0200
committerClifford Wolf <clifford@clifford.at>2018-06-23 15:16:37 +0200
commitb5efe3ecbc1a00714ad6774d7e16b3d22b7cf43a (patch)
treec633d4e43489bc1515cd582b93b13a5fd23b0f5e /gui/fpgaviewwidget.h
parent746d63f9fa7ffd7fcc5c460c04b65eccfbb3f205 (diff)
parent550866620acba97407e14dbc95ad5747d64ee3d6 (diff)
downloadnextpnr-b5efe3ecbc1a00714ad6774d7e16b3d22b7cf43a.tar.gz
nextpnr-b5efe3ecbc1a00714ad6774d7e16b3d22b7cf43a.tar.bz2
nextpnr-b5efe3ecbc1a00714ad6774d7e16b3d22b7cf43a.zip
Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr
Diffstat (limited to 'gui/fpgaviewwidget.h')
-rw-r--r--gui/fpgaviewwidget.h29
1 files changed, 27 insertions, 2 deletions
diff --git a/gui/fpgaviewwidget.h b/gui/fpgaviewwidget.h
index 0cfcbb3e..9f9dc024 100644
--- a/gui/fpgaviewwidget.h
+++ b/gui/fpgaviewwidget.h
@@ -24,6 +24,7 @@
#include <QOpenGLBuffer>
#include <QOpenGLFunctions>
#include <QOpenGLShaderProgram>
+#include <QOpenGLVertexArrayObject>
#include <QOpenGLWidget>
#include <QPainter>
@@ -162,6 +163,15 @@ class LineShader
GLuint miter;
} attributes_;
+ // GL buffers
+ struct
+ {
+ QOpenGLBuffer position;
+ QOpenGLBuffer normal;
+ QOpenGLBuffer miter;
+ QOpenGLBuffer index;
+ } buffers_;
+
// GL uniform locations.
struct
{
@@ -173,8 +183,23 @@ class LineShader
GLuint color;
} uniforms_;
+ QOpenGLVertexArrayObject vao_;
+
public:
- LineShader(QObject *parent) : parent_(parent), program_(nullptr) {}
+ LineShader(QObject *parent) : parent_(parent), program_(nullptr)
+ {
+ buffers_.position = QOpenGLBuffer(QOpenGLBuffer::VertexBuffer);
+ buffers_.position.setUsagePattern(QOpenGLBuffer::StaticDraw);
+
+ buffers_.normal = QOpenGLBuffer(QOpenGLBuffer::VertexBuffer);
+ buffers_.normal.setUsagePattern(QOpenGLBuffer::StaticDraw);
+
+ buffers_.miter = QOpenGLBuffer(QOpenGLBuffer::VertexBuffer);
+ buffers_.miter.setUsagePattern(QOpenGLBuffer::StaticDraw);
+
+ buffers_.index = QOpenGLBuffer(QOpenGLBuffer::IndexBuffer);
+ buffers_.index.setUsagePattern(QOpenGLBuffer::StaticDraw);
+ }
static constexpr const char *vertexShaderSource_ =
"attribute highp vec2 position;\n"
@@ -238,7 +263,7 @@ class FPGAViewWidget : public QOpenGLWidget, protected QOpenGLFunctions
float startDragX_;
float startDragY_;
- Context *ctx;
+ Context *ctx_;
};
NEXTPNR_NAMESPACE_END