From aa26baa3dbfeb5f75202ec23730519d1815a995f Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 19 Apr 2018 20:02:24 -0400 Subject: [PATCH] glsl_shader_decompiler: Add char overload for ShaderWriter's AddLine() Avoids constructing a std::string just to append a character. --- .../renderer_opengl/gl_shader_decompiler.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 389a23edb6..9e60c911cf 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -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("");