summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2020-01-27 09:33:16 +0100
committerPaul Lemire <paul.lemire@kdab.com>2020-01-27 11:29:29 +0100
commit292dbe36a8ffa811eb950b2cec4f954e23652eaa (patch)
tree98eb3ceda4013f53a11fe73b5d19462deedd1365
parent48c8f339f09c5274536222bce159a6d0394dbede (diff)
Shader: make uniform block accessors const
To prevent any container detaching Change-Id: Ie7de744fd492efaab49aa133a7904b293dc7d178 Reviewed-by: Mike Krus <mike.krus@kdab.com>
-rw-r--r--src/render/materialsystem/shader.cpp51
-rw-r--r--src/render/materialsystem/shader_p.h12
2 files changed, 30 insertions, 33 deletions
diff --git a/src/render/materialsystem/shader.cpp b/src/render/materialsystem/shader.cpp
index d42b0dda7..c46a66a22 100644
--- a/src/render/materialsystem/shader.cpp
+++ b/src/render/materialsystem/shader.cpp
@@ -202,59 +202,56 @@ QHash<QString, ShaderUniform> Shader::activeUniformsForUniformBlock(int blockInd
return m_uniformBlockIndexToShaderUniforms.value(blockIndex);
}
-ShaderUniformBlock Shader::uniformBlockForBlockIndex(int blockIndex)
+ShaderUniformBlock Shader::uniformBlockForBlockIndex(int blockIndex) const
{
- for (int i = 0, m = m_uniformBlocks.size(); i < m; ++i) {
- if (m_uniformBlocks[i].m_index == blockIndex) {
- return m_uniformBlocks[i];
- }
+ for (const ShaderUniformBlock &block : qAsConst(m_uniformBlocks)) {
+ if (block.m_index == blockIndex)
+ return block;
}
return ShaderUniformBlock();
}
-ShaderUniformBlock Shader::uniformBlockForBlockNameId(int blockNameId)
+ShaderUniformBlock Shader::uniformBlockForBlockNameId(int blockNameId) const
{
- for (int i = 0, m = m_uniformBlocks.size(); i < m; ++i) {
- if (m_uniformBlocks[i].m_nameId == blockNameId) {
- return m_uniformBlocks[i];
- }
+ for (const ShaderUniformBlock &block : qAsConst(m_uniformBlocks)) {
+ if (block.m_nameId == blockNameId)
+ return block;
}
return ShaderUniformBlock();
}
-ShaderUniformBlock Shader::uniformBlockForBlockName(const QString &blockName)
+ShaderUniformBlock Shader::uniformBlockForBlockName(const QString &blockName) const
{
- for (int i = 0, m = m_uniformBlocks.size(); i < m; ++i) {
- if (m_uniformBlocks[i].m_name == blockName) {
- return m_uniformBlocks[i];
- }
+ for (const ShaderUniformBlock &block : qAsConst(m_uniformBlocks)) {
+ if (block.m_name == blockName)
+ return block;
}
return ShaderUniformBlock();
}
-ShaderStorageBlock Shader::storageBlockForBlockIndex(int blockIndex)
+ShaderStorageBlock Shader::storageBlockForBlockIndex(int blockIndex) const
{
- for (int i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) {
- if (m_shaderStorageBlocks[i].m_index == blockIndex)
- return m_shaderStorageBlocks[i];
+ for (const ShaderStorageBlock &block: qAsConst(m_shaderStorageBlocks)) {
+ if (block.m_index == blockIndex)
+ return block;
}
return ShaderStorageBlock();
}
-ShaderStorageBlock Shader::storageBlockForBlockNameId(int blockNameId)
+ShaderStorageBlock Shader::storageBlockForBlockNameId(int blockNameId) const
{
- for (int i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) {
- if (m_shaderStorageBlocks[i].m_nameId == blockNameId)
- return m_shaderStorageBlocks[i];
+ for (const ShaderStorageBlock &block: qAsConst(m_shaderStorageBlocks)) {
+ if (block.m_nameId == blockNameId)
+ return block;
}
return ShaderStorageBlock();
}
-ShaderStorageBlock Shader::storageBlockForBlockName(const QString &blockName)
+ShaderStorageBlock Shader::storageBlockForBlockName(const QString &blockName) const
{
- for (int i = 0, m = m_shaderStorageBlockNames.size(); i < m; ++i) {
- if (m_shaderStorageBlocks[i].m_name == blockName)
- return m_shaderStorageBlocks[i];
+ for (const ShaderStorageBlock &block: qAsConst(m_shaderStorageBlocks)) {
+ if (block.m_name == blockName)
+ return block;
}
return ShaderStorageBlock();
}
diff --git a/src/render/materialsystem/shader_p.h b/src/render/materialsystem/shader_p.h
index 9eb24904c..e47dfb90f 100644
--- a/src/render/materialsystem/shader_p.h
+++ b/src/render/materialsystem/shader_p.h
@@ -111,13 +111,13 @@ public:
QHash<QString, ShaderUniform> activeUniformsForUniformBlock(int blockIndex) const;
- ShaderUniformBlock uniformBlockForBlockIndex(int blockNameId);
- ShaderUniformBlock uniformBlockForBlockNameId(int blockIndex);
- ShaderUniformBlock uniformBlockForBlockName(const QString &blockName);
+ ShaderUniformBlock uniformBlockForBlockIndex(int blockNameId) const;
+ ShaderUniformBlock uniformBlockForBlockNameId(int blockIndex) const;
+ ShaderUniformBlock uniformBlockForBlockName(const QString &blockName) const;
- ShaderStorageBlock storageBlockForBlockIndex(int blockIndex);
- ShaderStorageBlock storageBlockForBlockNameId(int blockNameId);
- ShaderStorageBlock storageBlockForBlockName(const QString &blockName);
+ ShaderStorageBlock storageBlockForBlockIndex(int blockIndex) const;
+ ShaderStorageBlock storageBlockForBlockNameId(int blockNameId) const;
+ ShaderStorageBlock storageBlockForBlockName(const QString &blockName) const;
inline QString log() const { return m_log; }
inline QShaderProgram::Status status() const { return m_status; }