summaryrefslogtreecommitdiffstats
path: root/src/render/renderers
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-08-13 03:02:40 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-08-13 03:02:40 +0200
commit26d2158e83a3bad9dabcd2c3ac1e95276a82277e (patch)
tree1b0eb68d339acac36dc34fdedb647c8a7db30494 /src/render/renderers
parente1f988f4363bcd69f1d0d47cef82503938c5638b (diff)
parent6388eb98a12a639a263ef34553269fc36b582269 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
Diffstat (limited to 'src/render/renderers')
-rw-r--r--src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp2
-rw-r--r--src/render/renderers/opengl/textures/gltexture.cpp7
2 files changed, 8 insertions, 1 deletions
diff --git a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
index 51f7cebd1..1a2971a3f 100644
--- a/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
+++ b/src/render/renderers/opengl/graphicshelpers/submissioncontext.cpp
@@ -577,7 +577,7 @@ QSize SubmissionContext::renderTargetSize(const QSize &surfaceSize) const
} else {
renderTargetSize = m_surface->size();
if (m_surface->surfaceClass() == QSurface::Window) {
- int dpr = static_cast<QWindow *>(m_surface)->devicePixelRatio();
+ const float dpr = static_cast<QWindow *>(m_surface)->devicePixelRatio();
renderTargetSize *= dpr;
}
}
diff --git a/src/render/renderers/opengl/textures/gltexture.cpp b/src/render/renderers/opengl/textures/gltexture.cpp
index 42deb4c2a..4fd8a8a86 100644
--- a/src/render/renderers/opengl/textures/gltexture.cpp
+++ b/src/render/renderers/opengl/textures/gltexture.cpp
@@ -522,6 +522,13 @@ void GLTexture::uploadGLTextureData()
void GLTexture::updateGLTextureParameters()
{
+ const bool isMultisampledTexture = (m_actualTarget == QAbstractTexture::Target2DMultisample ||
+ m_actualTarget == QAbstractTexture::Target2DMultisampleArray);
+ // Multisampled textures can only be accessed by texelFetch in shaders
+ // and don't support wrap modes and mig/mag filtes
+ if (isMultisampledTexture)
+ return;
+
m_gl->setWrapMode(QOpenGLTexture::DirectionS, static_cast<QOpenGLTexture::WrapMode>(m_parameters.wrapModeX));
if (m_actualTarget != QAbstractTexture::Target1D &&
m_actualTarget != QAbstractTexture::Target1DArray &&