summaryrefslogtreecommitdiffstats
path: root/src/render/renderers/opengl/textures/gltexture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/renderers/opengl/textures/gltexture.cpp')
-rw-r--r--src/render/renderers/opengl/textures/gltexture.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/render/renderers/opengl/textures/gltexture.cpp b/src/render/renderers/opengl/textures/gltexture.cpp
index 8efc34f23..47a97c688 100644
--- a/src/render/renderers/opengl/textures/gltexture.cpp
+++ b/src/render/renderers/opengl/textures/gltexture.cpp
@@ -80,6 +80,7 @@ GLTexture::GLTexture(TextureDataManager *texDataMgr,
, m_textureImageDataManager(texImgDataMgr)
, m_dataFunctor(texGen)
, m_sharedTextureId(-1)
+ , m_pendingDataFunctor(nullptr)
, m_externalRendering(false)
{
// make sure texture generator is executed
@@ -199,7 +200,10 @@ GLTexture::TextureUpdateInfo GLTexture::createOrUpdateGLTexture()
setDirtyFlag(Properties, true);
needUpload = true;
} else {
- qWarning() << "[Qt3DRender::GLTexture] No QTextureData generated from Texture Generator yet. Texture will be invalid for this frame";
+ if (m_pendingDataFunctor != m_dataFunctor.get()) {
+ qWarning() << "[Qt3DRender::GLTexture] No QTextureData generated from Texture Generator yet. Texture will be invalid for this frame";
+ m_pendingDataFunctor = m_dataFunctor.get();
+ }
textureInfo.properties.status = QAbstractTexture::Loading;
return textureInfo;
}
@@ -292,7 +296,10 @@ RenderBuffer *GLTexture::getOrCreateRenderBuffer()
setDirtyFlag(Properties);
} else {
- qWarning() << "[Qt3DRender::GLTexture] [renderbuffer] No QTextureData generated from Texture Generator yet. Texture will be invalid for this frame";
+ if (m_pendingDataFunctor != m_dataFunctor.get()) {
+ qWarning() << "[Qt3DRender::GLTexture] [renderbuffer] No QTextureData generated from Texture Generator yet. Texture will be invalid for this frame";
+ m_pendingDataFunctor = m_dataFunctor.get();
+ }
return nullptr;
}
}