glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine()

Avoids constructing a std::string just to append a character.
This commit is contained in:
Lioncash 2018-04-19 20:02:24 -04:00
parent 4ef392906b
commit aa26baa3db

View File

@ -117,6 +117,13 @@ public:
shader_source += text + '\n';
}
void AddLine(char character) {
DEBUG_ASSERT(scope >= 0);
AppendIndentation();
shader_source += character;
shader_source += '\n';
}
std::string GetResult() {
return std::move(shader_source);
}
@ -511,14 +518,14 @@ private:
}
--shader.scope;
shader.AddLine("}");
shader.AddLine('}');
}
shader.AddLine("default: return false;");
shader.AddLine("}");
shader.AddLine('}');
--shader.scope;
shader.AddLine("}");
shader.AddLine('}');
shader.AddLine("return false;");
}
@ -568,7 +575,7 @@ private:
unsigned const_buffer_layout = 0;
for (const auto& entry : GetConstBuffersDeclarations()) {
declarations.AddLine("layout(std430) buffer " + entry.GetName());
declarations.AddLine("{");
declarations.AddLine('{');
declarations.AddLine(" float c" + std::to_string(entry.GetIndex()) + "[];");
declarations.AddLine("};");
declarations.AddLine("");