diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-07-23 14:01:18 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-08-07 11:37:00 +0200 |
commit | fcf6017b82868c044c8d06ca8092ab8acfe56070 (patch) | |
tree | 7469191f46a56144c19a429debd46523fc9363c6 | |
parent | 853d2edf9158b4237a963f04cc7f4b58e0315f4b (diff) |
GLTexture: glTexParam is not supported on multisampled textures
So try to avoid performing these calls on such texture
Change-Id: I051fd6a0150d07656687a1f84756d8a3d506ec24
Reviewed-by: Mike Krus <mike.krus@kdab.com>
-rw-r--r-- | src/render/renderers/opengl/textures/gltexture.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/render/renderers/opengl/textures/gltexture.cpp b/src/render/renderers/opengl/textures/gltexture.cpp index ce212de03..27b94882a 100644 --- a/src/render/renderers/opengl/textures/gltexture.cpp +++ b/src/render/renderers/opengl/textures/gltexture.cpp @@ -495,6 +495,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 && |