The QSGTexture class tracks filter and wrap states internally
and only updates when new states have been set. When atlas
textures are used, multiple QSGTexture instances share the
same OpenGL texture id and the state will get out of sync.
Change-Id: Iaf6ba9764a67acf25d0a6b0a2fb18170122e3325
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
void QSGTexture::updateBindOptions(bool force)
{
Q_D(QSGTexture);
+ force |= isAtlasTexture();
+
if (force || d->filteringChanged) {
bool linear = d->filterMode == Linear;
GLint minFilter = linear ? GL_LINEAR : GL_NEAREST;