Skip to content

Commit

Permalink
Misc: Replace stringstream str() with C++20 move str()
Browse files Browse the repository at this point in the history
No extra heap allocation/copy.
  • Loading branch information
stenzek committed Feb 5, 2025
1 parent 8aa97a8 commit bee2dab
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 37 deletions.
2 changes: 1 addition & 1 deletion src/common/string_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ inline std::string ToChars(T value)
std::ostringstream ss;
ss.imbue(std::locale::classic());
ss << value;
return ss.str();
return std::move(ss).str();
#endif
}

Expand Down
36 changes: 18 additions & 18 deletions src/core/gpu_hw_shadergen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ std::string GPU_HW_ShaderGen::GenerateScreenVertexShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateBatchVertexShader(bool upscaled, bool msaa, bool per_sample_shading,
Expand Down Expand Up @@ -193,7 +193,7 @@ std::string GPU_HW_ShaderGen::GenerateBatchVertexShader(bool upscaled, bool msaa
}
)";

return ss.str();
return std::move(ss).str();
}

void GPU_HW_ShaderGen::WriteBatchTextureFilter(std::stringstream& ss, GPUTextureFilter texture_filter) const
Expand Down Expand Up @@ -1221,7 +1221,7 @@ float4 SampleFromVRAM(TEXPAGE_VALUE texpage, float2 coords)
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateVRAMExtractFragmentShader(u32 resolution_scale, u32 multisamples,
Expand Down Expand Up @@ -1314,7 +1314,7 @@ float3 SampleVRAM24(uint2 icoords)
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateVRAMReplacementBlitFragmentShader() const
Expand All @@ -1330,7 +1330,7 @@ std::string GPU_HW_ShaderGen::GenerateVRAMReplacementBlitFragmentShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateWireframeGeometryShader() const
Expand Down Expand Up @@ -1403,7 +1403,7 @@ void main(triangle GSInput input[3], inout LineStream<GSOutput> output)
)";
}

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateWireframeFragmentShader() const
Expand All @@ -1418,7 +1418,7 @@ std::string GPU_HW_ShaderGen::GenerateWireframeFragmentShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateVRAMReadFragmentShader(u32 resolution_scale, u32 multisamples) const
Expand Down Expand Up @@ -1483,7 +1483,7 @@ uint SampleVRAM(uint2 coords)
/ float4(255.0, 255.0, 255.0, 255.0);
})";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateVRAMWriteFragmentShader(bool use_buffer, bool use_ssbo, bool write_mask_as_depth,
Expand Down Expand Up @@ -1564,7 +1564,7 @@ std::string GPU_HW_ShaderGen::GenerateVRAMWriteFragmentShader(bool use_buffer, b
#endif
})";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateVRAMCopyFragmentShader(bool write_mask_as_depth, bool write_depth_as_rt) const
Expand Down Expand Up @@ -1622,7 +1622,7 @@ std::string GPU_HW_ShaderGen::GenerateVRAMCopyFragmentShader(bool write_mask_as_
#endif
})";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateVRAMFillFragmentShader(bool wrapped, bool interlaced, bool write_mask_as_depth,
Expand Down Expand Up @@ -1670,7 +1670,7 @@ std::string GPU_HW_ShaderGen::GenerateVRAMFillFragmentShader(bool wrapped, bool
#endif
})";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateVRAMUpdateDepthFragmentShader(bool msaa) const
Expand All @@ -1691,7 +1691,7 @@ std::string GPU_HW_ShaderGen::GenerateVRAMUpdateDepthFragmentShader(bool msaa) c
}
)";

return ss.str();
return std::move(ss).str();
}

void GPU_HW_ShaderGen::WriteAdaptiveDownsampleUniformBuffer(std::stringstream& ss) const
Expand All @@ -1715,7 +1715,7 @@ std::string GPU_HW_ShaderGen::GenerateAdaptiveDownsampleVertexShader() const
#endif
}
)";
return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateAdaptiveDownsampleMipFragmentShader() const
Expand Down Expand Up @@ -1749,7 +1749,7 @@ std::string GPU_HW_ShaderGen::GenerateAdaptiveDownsampleMipFragmentShader() cons
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateAdaptiveDownsampleBlurFragmentShader() const
Expand Down Expand Up @@ -1786,7 +1786,7 @@ std::string GPU_HW_ShaderGen::GenerateAdaptiveDownsampleBlurFragmentShader() con
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateAdaptiveDownsampleCompositeFragmentShader() const
Expand All @@ -1804,7 +1804,7 @@ std::string GPU_HW_ShaderGen::GenerateAdaptiveDownsampleCompositeFragmentShader(
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateBoxSampleDownsampleFragmentShader(u32 factor) const
Expand All @@ -1831,7 +1831,7 @@ std::string GPU_HW_ShaderGen::GenerateBoxSampleDownsampleFragmentShader(u32 fact
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPU_HW_ShaderGen::GenerateReplacementMergeFragmentShader(bool replacement, bool semitransparent,
Expand Down Expand Up @@ -1918,5 +1918,5 @@ std::string GPU_HW_ShaderGen::GenerateReplacementMergeFragmentShader(bool replac
}
)";

return ss.str();
return std::move(ss).str();
}
14 changes: 7 additions & 7 deletions src/core/gpu_shadergen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ std::string GPUShaderGen::GenerateDisplayVertexShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPUShaderGen::GenerateDisplayFragmentShader(bool clamp_uv, bool nearest) const
Expand All @@ -63,7 +63,7 @@ std::string GPUShaderGen::GenerateDisplayFragmentShader(bool clamp_uv, bool near

ss << "}\n";

return ss.str();
return std::move(ss).str();
}

std::string GPUShaderGen::GenerateDisplaySharpBilinearFragmentShader() const
Expand Down Expand Up @@ -92,7 +92,7 @@ std::string GPUShaderGen::GenerateDisplaySharpBilinearFragmentShader() const
o_col0 = float4(SAMPLE_TEXTURE(samp0, ClampUV(mod_texel * u_src_size.zw)).rgb, 1.0f);
})";

return ss.str();
return std::move(ss).str();
}

std::string GPUShaderGen::GenerateDisplayLanczosFragmentShader() const
Expand Down Expand Up @@ -169,7 +169,7 @@ std::string GPUShaderGen::GenerateDeinterlaceWeaveFragmentShader() const
o_col0 = LOAD_TEXTURE(samp0, int2(tcoord), 0);
})";

return ss.str();
return std::move(ss).str();
}

std::string GPUShaderGen::GenerateDeinterlaceBlendFragmentShader() const
Expand All @@ -189,7 +189,7 @@ std::string GPUShaderGen::GenerateDeinterlaceBlendFragmentShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPUShaderGen::GenerateFastMADReconstructFragmentShader() const
Expand Down Expand Up @@ -248,7 +248,7 @@ CONSTANT float3 SENSITIVITY = float3(0.08f, 0.08f, 0.08f);
}
)";

return ss.str();
return std::move(ss).str();
}

std::string GPUShaderGen::GenerateChromaSmoothingFragmentShader() const
Expand Down Expand Up @@ -308,5 +308,5 @@ float3 SampleVRAMAverage2x2(uint2 icoords)
}
)";

return ss.str();
return std::move(ss).str();
}
2 changes: 1 addition & 1 deletion src/util/input_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ std::string InputManager::ConvertInputBindingKeysToString(InputBindingInfo::Type
ss << keystr;
}

return ss.str();
return std::move(ss).str();
}

bool InputManager::PrettifyInputBinding(SmallStringBase& binding, BindingIconMappingFunction mapper /*= nullptr*/)
Expand Down
2 changes: 1 addition & 1 deletion src/util/opengl_pipeline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ GLuint OpenGLDevice::CompileProgram(const GPUPipeline::GraphicsConfig& plconfig,
ss << "\n########## FRAGMENT SHADER ##########\n";
ss << fragment_shader->GetSource();
ss << "\n#####################################\n";
DumpBadShader(ss.str(), info_log);
DumpBadShader(std::move(ss).str(), info_log);
}

ERROR_LOG("Program failed to link:\n{}", info_log);
Expand Down
4 changes: 2 additions & 2 deletions src/util/postprocessing_shader_glsl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ std::string PostProcessingGLSLShaderGen::GeneratePostProcessingVertexShader(cons
}
)";

return ss.str();
return std::move(ss).str();
}

std::string PostProcessingGLSLShaderGen::GeneratePostProcessingFragmentShader(const PostProcessing::GLSLShader& shader)
Expand Down Expand Up @@ -415,7 +415,7 @@ float2 GetWindowResolution() { return u_window_size; }
)";

ss << shader.GetCode();
return ss.str();
return std::move(ss).str();
}

void PostProcessingGLSLShaderGen::WriteUniformBuffer(std::stringstream& ss, const PostProcessing::GLSLShader& shader,
Expand Down
14 changes: 7 additions & 7 deletions src/util/shadergen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,7 @@ std::string ShaderGen::GenerateScreenQuadVertexShader(float z /* = 0.0f */) cons
ss << " #endif\n";
ss << "}\n";

return ss.str();
return std::move(ss).str();
}

std::string ShaderGen::GenerateUVQuadVertexShader() const
Expand All @@ -826,7 +826,7 @@ std::string ShaderGen::GenerateUVQuadVertexShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string ShaderGen::GenerateFillFragmentShader() const
Expand All @@ -842,7 +842,7 @@ std::string ShaderGen::GenerateFillFragmentShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string ShaderGen::GenerateFillFragmentShader(const GSVector4 fixed_color) const
Expand All @@ -856,7 +856,7 @@ std::string ShaderGen::GenerateFillFragmentShader(const GSVector4 fixed_color) c
<< fixed_color.w << ");\n";
ss << "}\n";

return ss.str();
return std::move(ss).str();
}

std::string ShaderGen::GenerateCopyFragmentShader(bool offset) const
Expand Down Expand Up @@ -887,7 +887,7 @@ std::string ShaderGen::GenerateCopyFragmentShader(bool offset) const
)";
}

return ss.str();
return std::move(ss).str();
}

std::string ShaderGen::GenerateImGuiVertexShader() const
Expand All @@ -907,7 +907,7 @@ std::string ShaderGen::GenerateImGuiVertexShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

std::string ShaderGen::GenerateImGuiFragmentShader() const
Expand All @@ -923,5 +923,5 @@ std::string ShaderGen::GenerateImGuiFragmentShader() const
}
)";

return ss.str();
return std::move(ss).str();
}

0 comments on commit bee2dab

Please sign in to comment.