aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/util/qsgshadersourcebuilder.cpp
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-08-24 14:10:17 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-08-26 07:18:40 +0000
commit0445f31a6fae37aa4f6b92978ff58b0f2848d36b (patch)
tree33db7e5419a9a6cfdbc269fed7088a7978ca3f95 /src/quick/scenegraph/util/qsgshadersourcebuilder.cpp
parent0010a214ec30509ef389f57a10944a54a62aeeb2 (diff)
Use QStringBuilder more
Reduce allocations. Change-Id: I8b8a0d0360e618c65894f1f7c12476b41a1dbc5d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/scenegraph/util/qsgshadersourcebuilder.cpp')
-rw-r--r--src/quick/scenegraph/util/qsgshadersourcebuilder.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/quick/scenegraph/util/qsgshadersourcebuilder.cpp b/src/quick/scenegraph/util/qsgshadersourcebuilder.cpp
index caa296451e..25af1997a8 100644
--- a/src/quick/scenegraph/util/qsgshadersourcebuilder.cpp
+++ b/src/quick/scenegraph/util/qsgshadersourcebuilder.cpp
@@ -310,13 +310,10 @@ void QSGShaderSourceBuilder::addDefinition(const QByteArray &definition)
const char *insertionPos = extensionPos ? extensionPos : (versionPos ? versionPos : input);
// Construct a new shader string, inserting the definition
- QByteArray newSource;
- newSource.reserve(m_source.size() + definition.size() + 9);
- newSource += QByteArray::fromRawData(input, insertionPos - input);
- newSource += QByteArrayLiteral("#define ") + definition + QByteArrayLiteral("\n");
- newSource += QByteArray::fromRawData(insertionPos, m_source.size() - (insertionPos - input));
-
- m_source = newSource;
+ QByteArray newSource = QByteArray::fromRawData(input, insertionPos - input)
+ + "#define " + definition + '\n'
+ + QByteArray::fromRawData(insertionPos, m_source.size() - (insertionPos - input));
+ m_source = std::move(newSource);
}
void QSGShaderSourceBuilder::removeVersion()