diff options
-rw-r--r-- | src/render/materialsystem/shaderbuilder.cpp | 21 | ||||
-rw-r--r-- | src/render/renderlogging.cpp | 1 | ||||
-rw-r--r-- | src/render/renderlogging_p.h | 1 |
3 files changed, 17 insertions, 6 deletions
diff --git a/src/render/materialsystem/shaderbuilder.cpp b/src/render/materialsystem/shaderbuilder.cpp index d7ccea7da..2b8938eb9 100644 --- a/src/render/materialsystem/shaderbuilder.cpp +++ b/src/render/materialsystem/shaderbuilder.cpp @@ -50,6 +50,7 @@ #include <Qt3DRender/private/qshadergraphloader_p.h> #include <Qt3DRender/private/qshadergenerator_p.h> #include <Qt3DRender/private/qshadernodesloader_p.h> +#include <Qt3DRender/private/renderlogging_p.h> #include <QFile> #include <QFileInfo> @@ -250,6 +251,7 @@ void ShaderBuilder::generateCode(QShaderProgram::ShaderType type) // If that's the case it's faster to load the pre generated shader file if (m_renderer && m_renderer->containsGeneratedShaderGraph(cacheKey)) { + qCDebug(ShaderCache) << "Using runtime cache for shader graph with key" << cacheKey; updateShaderCodeAndClearDirty(m_renderer->cachedGeneratedShaderGraph(cacheKey)); return; } @@ -257,16 +259,19 @@ void ShaderBuilder::generateCode(QShaderProgram::ShaderType type) // else check if a cachedShader file exists if (cachedShaderFile.exists()) { if (!cachedShaderFile.open(QFile::ReadOnly)) { - qWarning() << "Couldn't open cached shader file:" << graphPath; + qCWarning(ShaderCache) << "Couldn't open cached shader file:" << graphPath; // Too bad, we have to generate the shader below } else { // Use cached shader + qCDebug(ShaderCache) << "Using cached shader file" << cachedFilterPath; const QByteArray shaderCode = cachedShaderFile.readAll(); updateShaderCodeAndClearDirty(shaderCode); // Record to runtime cache - if (m_renderer) + if (m_renderer) { + qCDebug(ShaderCache) << "Insert shader " << cacheKey << "into runtime cache"; m_renderer->insertGeneratedShaderGraph(cacheKey, shaderCode); + } return; } } @@ -305,14 +310,18 @@ void ShaderBuilder::generateCode(QShaderProgram::ShaderType type) // Record to runtime cache if (useCache || forceRegenerate) { - if (m_renderer) + if (m_renderer) { + qCDebug(ShaderCache) << "Insert shader " << cacheKey << "into runtime cache"; m_renderer->insertGeneratedShaderGraph(cacheKey, deincludified); + } // Record to file cache - if (cachedShaderFile.open(QFile::WriteOnly)) + if (cachedShaderFile.open(QFile::WriteOnly)) { cachedShaderFile.write(deincludified); - else - qWarning() << "Unable to write cached shader file"; + qCDebug(ShaderCache) << "Saving cached shader file" << cachedFilterPath; + } else { + qCWarning(ShaderCache) << "Unable to write cached shader file"; + } } } diff --git a/src/render/renderlogging.cpp b/src/render/renderlogging.cpp index 2eb1835e6..fef284c3a 100644 --- a/src/render/renderlogging.cpp +++ b/src/render/renderlogging.cpp @@ -57,6 +57,7 @@ Q_LOGGING_CATEGORY(Memory, "Qt3D.Renderer.Memory", QtWarningMsg) Q_LOGGING_CATEGORY(Shaders, "Qt3D.Renderer.Shaders", QtWarningMsg) Q_LOGGING_CATEGORY(RenderStates, "Qt3D.Renderer.RenderStates", QtWarningMsg) Q_LOGGING_CATEGORY(VSyncAdvanceService, "Qt3D.Renderer.VsyncAdvanceService", QtWarningMsg) +Q_LOGGING_CATEGORY(ShaderCache, "Qt3D.Renderer.ShaderCache", QtWarningMsg) } // namespace Render diff --git a/src/render/renderlogging_p.h b/src/render/renderlogging_p.h index 00ae572f4..54f304327 100644 --- a/src/render/renderlogging_p.h +++ b/src/render/renderlogging_p.h @@ -71,6 +71,7 @@ Q_DECLARE_LOGGING_CATEGORY(Memory) Q_DECLARE_LOGGING_CATEGORY(Shaders) Q_DECLARE_LOGGING_CATEGORY(RenderStates) Q_DECLARE_LOGGING_CATEGORY(VSyncAdvanceService) +Q_DECLARE_LOGGING_CATEGORY(ShaderCache) } // namespace Render |