summaryrefslogtreecommitdiff
path: root/src/mbgl/shaders/shaders.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/shaders/shaders.cpp')
-rw-r--r--src/mbgl/shaders/shaders.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mbgl/shaders/shaders.cpp b/src/mbgl/shaders/shaders.cpp
index 2e5a318024..04cfda35cc 100644
--- a/src/mbgl/shaders/shaders.cpp
+++ b/src/mbgl/shaders/shaders.cpp
@@ -1,10 +1,9 @@
#include <mbgl/shaders/shaders.hpp>
#include <mbgl/shaders/preludes.hpp>
#include <mbgl/programs/program_parameters.hpp>
+#include <mbgl/util/string.hpp>
#include <cassert>
-#include <sstream>
-#include <iomanip>
namespace mbgl {
namespace shaders {
@@ -18,12 +17,12 @@ std::string vertexSource(const ProgramParameters& parameters, const char* vertex
}
std::string programIdentifier(const std::string& vertexSource, const std::string& fragmentSource) {
- std::ostringstream ss;
- ss << std::setfill('0') << std::setw(sizeof(size_t) * 2) << std::hex;
- ss << std::hash<std::string>()(vertexSource);
- ss << std::hash<std::string>()(fragmentSource);
- ss << "v2";
- return ss.str();
+ std::string result;
+ result.reserve(sizeof(size_t) * 2 * 2 + 2 + 1);
+ result += util::toHex(std::hash<std::string>()(vertexSource));
+ result += util::toHex(std::hash<std::string>()(fragmentSource));
+ result += "v2";
+ return result;
}
} // namespace shaders