diff options
Diffstat (limited to 'src/quick/items/qquickshadereffectsource.cpp')
-rw-r--r-- | src/quick/items/qquickshadereffectsource.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/quick/items/qquickshadereffectsource.cpp b/src/quick/items/qquickshadereffectsource.cpp index f78a05ea9a..ebeff599f4 100644 --- a/src/quick/items/qquickshadereffectsource.cpp +++ b/src/quick/items/qquickshadereffectsource.cpp @@ -622,6 +622,8 @@ void QQuickShaderEffectSource::ensureTexture() connect(m_texture, SIGNAL(scheduledUpdateCompleted()), this, SIGNAL(scheduledUpdateCompleted())); } +static void get_wrap_mode(QQuickShaderEffectSource::WrapMode mode, QSGTexture::WrapMode *hWrap, QSGTexture::WrapMode *vWrap); + QSGTextureProvider *QQuickShaderEffectSource::textureProvider() const { const QQuickItemPrivate *d = QQuickItemPrivate::get(this); @@ -634,6 +636,10 @@ QSGTextureProvider *QQuickShaderEffectSource::textureProvider() const const_cast<QQuickShaderEffectSource *>(this)->m_provider = new QQuickShaderEffectSourceTextureProvider(); const_cast<QQuickShaderEffectSource *>(this)->ensureTexture(); connect(m_texture, SIGNAL(updateRequested()), m_provider, SIGNAL(textureChanged())); + + get_wrap_mode(m_wrapMode, &m_provider->horizontalWrap, &m_provider->verticalWrap); + m_provider->mipmapFiltering = mipmap() ? QSGTexture::Linear : QSGTexture::None; + m_provider->filtering = smooth() ? QSGTexture::Linear : QSGTexture::Nearest; m_provider->sourceTexture = m_texture; } return m_provider; |