diff --git a/src/qt/qt_mainwindow.ui b/src/qt/qt_mainwindow.ui
index 69197d015..60b77d290 100644
--- a/src/qt/qt_mainwindow.ui
+++ b/src/qt/qt_mainwindow.ui
@@ -15,7 +15,7 @@
-
+
0
0
@@ -37,7 +37,14 @@
0
-
-
+
+
+
+ 0
+ 0
+
+
+
diff --git a/src/qt/qt_opengloptions.cpp b/src/qt/qt_opengloptions.cpp
index 26b8f05fe..95f13f2df 100644
--- a/src/qt/qt_opengloptions.cpp
+++ b/src/qt/qt_opengloptions.cpp
@@ -183,10 +183,10 @@ OpenGLOptions::addShader(const QString &path)
.toStdString());
};
- if (!shader->addShaderFromSourceCode(QOpenGLShader::Vertex, version_line % "\n#define VERTEX\n" % shader_text))
+ if (!shader->addShaderFromSourceCode(QOpenGLShader::Vertex, version_line % "\n#extension GL_ARB_shading_language_420pack : enable\n" % "\n#define VERTEX\n" % shader_text))
throw_shader_error(tr("Error compiling vertex shader in file \"%1\""));
- if (!shader->addShaderFromSourceCode(QOpenGLShader::Fragment, version_line % "\n#define FRAGMENT\n" % shader_text))
+ if (!shader->addShaderFromSourceCode(QOpenGLShader::Fragment, version_line % "\n#extension GL_ARB_shading_language_420pack : enable\n" "\n#define FRAGMENT\n" % shader_text))
throw_shader_error(tr("Error compiling fragment shader in file \"%1\""));
if (!shader->link())
diff --git a/src/qt/qt_openglrenderer.cpp b/src/qt/qt_openglrenderer.cpp
index 173e82448..eb5656d3b 100644
--- a/src/qt/qt_openglrenderer.cpp
+++ b/src/qt/qt_openglrenderer.cpp
@@ -18,6 +18,7 @@
#include
#include
#include
+#include
#include
@@ -87,8 +88,8 @@ OpenGLRenderer::resizeEvent(QResizeEvent *event)
glViewport(
destination.x(),
destination.y(),
- destination.width(),
- destination.height());
+ destination.width() * devicePixelRatio(),
+ destination.height() * devicePixelRatio());
}
bool
@@ -372,7 +373,7 @@ OpenGLRenderer::onBlit(int buf_idx, int x, int y, int w, int h)
/* Resize the texture */
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, source.width(), source.height(), 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, NULL);
+ glTexImage2D(GL_TEXTURE_2D, 0, (GLenum)QOpenGLTexture::RGBA8_UNorm, source.width(), source.height(), 0, (GLenum)QOpenGLTexture::BGRA, (GLenum)QOpenGLTexture::UInt32_RGBA8_Rev, NULL);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, unpackBufferID);
}
@@ -381,7 +382,7 @@ OpenGLRenderer::onBlit(int buf_idx, int x, int y, int w, int h)
glPixelStorei(GL_UNPACK_SKIP_PIXELS, BUFFERPIXELS * buf_idx + y * ROW_LENGTH + x);
glPixelStorei(GL_UNPACK_ROW_LENGTH, ROW_LENGTH);
- glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, NULL);
+ glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, (GLenum)QOpenGLTexture::BGRA, (GLenum)QOpenGLTexture::UInt32_RGBA8_Rev, NULL);
/* TODO: check if fence sync is implementable here and still has any benefit. */
glFinish();
diff --git a/src/qt/qt_settingsmachine.ui b/src/qt/qt_settingsmachine.ui
index fabb52fe9..30f375f7e 100644
--- a/src/qt/qt_settingsmachine.ui
+++ b/src/qt/qt_settingsmachine.ui
@@ -202,6 +202,12 @@
-
+
+
+ 0
+ 0
+
+
Time synchronization