summaryrefslogtreecommitdiffstats
path: root/src/render/renderers
diff options
context:
space:
mode:
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 &&