summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Albamont <jim.albamont@kdab.com>2020-12-09 14:21:23 -0800
committerJim Albamont <jim.albamont@kdab.com>2020-12-09 22:05:45 -0800
commitfd5c3299553818e99421f54c1b819681335de9aa (patch)
tree8bc611cfcd3d342440c89b9a1c3f60a780aa5b11
parenta0b265b1708cdd652c1c2e7f25dfb6b491554937 (diff)
Fix disabling shader cache via environment variable
The tests were a broken too because the QT3D_DISABLE_SHADER_CACHE environment var was still set from the previous test. These tests passed before because the shader builder used the cache if either the QT3D_DISABLE_SHADER_CACHE or QT3D_REBUILD_SHADER_CACHE are not set. Change-Id: Ic04bf3bb8bb7b9b27e3dc9663fe5e96647a3bed4 Pick-to: dev 6.0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/render/materialsystem/shaderbuilder.cpp2
-rw-r--r--tests/auto/render/shaderbuilder/tst_shaderbuilder.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/render/materialsystem/shaderbuilder.cpp b/src/render/materialsystem/shaderbuilder.cpp
index 2b8938eb9..30a1938f3 100644
--- a/src/render/materialsystem/shaderbuilder.cpp
+++ b/src/render/materialsystem/shaderbuilder.cpp
@@ -237,7 +237,7 @@ void ShaderBuilder::generateCode(QShaderProgram::ShaderType type)
const QByteArray cacheKey = hashKeyForShaderGraph(type);
const bool forceRegenerate = qEnvironmentVariableIsSet("QT3D_REBUILD_SHADER_CACHE");
- const bool useCache = !qEnvironmentVariableIsSet("QT3D_DISABLE_SHADER_CACHE") || !forceRegenerate;
+ const bool useCache = !qEnvironmentVariableIsSet("QT3D_DISABLE_SHADER_CACHE") && !forceRegenerate;
const QByteArray userProvidedPath = qgetenv("QT3D_WRITABLE_CACHE_PATH");
const QString cachedFilterPath = QDir(userProvidedPath.isEmpty() ?
QStandardPaths::writableLocation(QStandardPaths::TempLocation)
diff --git a/tests/auto/render/shaderbuilder/tst_shaderbuilder.cpp b/tests/auto/render/shaderbuilder/tst_shaderbuilder.cpp
index 2bab9d6f5..5dac73a61 100644
--- a/tests/auto/render/shaderbuilder/tst_shaderbuilder.cpp
+++ b/tests/auto/render/shaderbuilder/tst_shaderbuilder.cpp
@@ -611,6 +611,7 @@ private slots:
void checkFileCaching()
{
// GIVEN
+ qunsetenv("QT3D_DISABLE_SHADER_CACHE");
QTemporaryDir cacheDir;
if (!cacheDir.isValid()) {
@@ -687,6 +688,7 @@ private slots:
void checkRuntimeCaching()
{
// GIVEN
+ qunsetenv("QT3D_DISABLE_SHADER_CACHE");
TestRenderer renderer;
QTemporaryDir cacheDir;