VertexLoaderManager: Return debug strings by value

This also renames AppendListToString to VertexLoadersToString.
This commit is contained in:
Lioncash 2017-03-26 22:52:10 -04:00
parent 9859533ab4
commit 9ebd84e54a
3 changed files with 11 additions and 7 deletions

View File

@ -68,8 +68,7 @@ std::string Statistics::ToString()
str += StringFromFormat("Uniform streamed: %i kB\n", stats.thisFrame.bytesUniformStreamed / 1024); str += StringFromFormat("Uniform streamed: %i kB\n", stats.thisFrame.bytesUniformStreamed / 1024);
str += StringFromFormat("Vertex Loaders: %i\n", stats.numVertexLoaders); str += StringFromFormat("Vertex Loaders: %i\n", stats.numVertexLoaders);
std::string vertex_list; std::string vertex_list = VertexLoaderManager::VertexLoadersToString();
VertexLoaderManager::AppendListToString(&vertex_list);
// TODO : at some point text1 just becomes too huge and overflows, we can't even read the added // TODO : at some point text1 just becomes too huge and overflows, we can't even read the added
// stuff // stuff

View File

@ -98,7 +98,7 @@ struct entry
}; };
} }
void AppendListToString(std::string* dest) std::string VertexLoadersToString()
{ {
std::lock_guard<std::mutex> lk(s_vertex_loader_map_lock); std::lock_guard<std::mutex> lk(s_vertex_loader_map_lock);
std::vector<entry> entries; std::vector<entry> entries;
@ -112,13 +112,18 @@ void AppendListToString(std::string* dest)
total_size += e.text.size() + 1; total_size += e.text.size() + 1;
entries.push_back(std::move(e)); entries.push_back(std::move(e));
} }
sort(entries.begin(), entries.end()); sort(entries.begin(), entries.end());
dest->reserve(dest->size() + total_size);
std::string dest;
dest.reserve(total_size);
for (const entry& entry : entries) for (const entry& entry : entries)
{ {
*dest += entry.text; dest += entry.text;
*dest += '\n'; dest += '\n';
} }
return dest;
} }
void MarkAllDirty() void MarkAllDirty()

View File

@ -30,7 +30,7 @@ NativeVertexFormatMap* GetNativeVertexFormatMap();
int RunVertices(int vtx_attr_group, int primitive, int count, DataReader src, bool is_preprocess); int RunVertices(int vtx_attr_group, int primitive, int count, DataReader src, bool is_preprocess);
// For debugging // For debugging
void AppendListToString(std::string* dest); std::string VertexLoadersToString();
NativeVertexFormat* GetCurrentVertexFormat(); NativeVertexFormat* GetCurrentVertexFormat();