Skip to content
Snippets Groups Projects

Add missing include for MSVC

Merged Jonathan Kunstwald requested to merge feature/fix-msvc-compilation into master
1 file
+ 20
23
Compare changes
  • Side-by-side
  • Inline
@@ -24,15 +24,17 @@ struct QueryEntry
SharedTimestamp queryEnd;
};
GLOW_THREADLOCAL std::vector<GlowActionLabel::Entry> *sEntries = nullptr;
GLOW_THREADLOCAL std::queue<QueryEntry> *sQueries = nullptr;
GLOW_THREADLOCAL std::vector<SharedTimestamp> *sTimers = nullptr;
GLOW_THREADLOCAL std::stack<int> *sEntryStack = nullptr;
GLOW_THREADLOCAL std::vector<GlowActionLabel::Entry>* sEntries = nullptr;
GLOW_THREADLOCAL std::queue<QueryEntry>* sQueries = nullptr;
GLOW_THREADLOCAL std::vector<SharedTimestamp>* sTimers = nullptr;
GLOW_THREADLOCAL std::stack<int>* sEntryStack = nullptr;
std::mutex sLabelLock;
std::vector<GlowActionLabel *> sLabels;
std::vector<std::vector<GlowActionLabel::Entry> *> sEntriesPerThread;
std::vector<GlowActionLabel*> sLabels;
std::vector<std::vector<GlowActionLabel::Entry>*> sEntriesPerThread;
#if _MSC_VER
#define VC_EXTRALEAN
#include <Windows.h>
LARGE_INTEGER sFrequency; // null init
#endif
@@ -85,7 +87,7 @@ std::string GlowActionLabel::nameOrFunc() const
return name;
}
GlowActionLabel::GlowActionLabel(const char *file, int line, const char *function, const char *name)
GlowActionLabel::GlowActionLabel(const char* file, int line, const char* function, const char* name)
: mName(name), mFile(file), mLine(line), mFunction(function)
{
sLabelLock.lock();
@@ -134,13 +136,13 @@ void GlowActionLabel::endEntry()
auto idx = sEntryStack->top();
sEntryStack->pop();
Entry &e = sEntries->at(idx);
Entry& e = sEntries->at(idx);
e.timeEndCPU = getTime();
e._queryEnd->save();
e._queryEnd = nullptr;
}
std::vector<GlowActionLabel *> GlowActionLabel::getAllLabels()
std::vector<GlowActionLabel*> GlowActionLabel::getAllLabels()
{
sLabelLock.lock();
auto labels = sLabels;
@@ -155,15 +157,15 @@ void GlowActionLabel::update(bool force)
while (!sQueries->empty())
{
auto const &qe = sQueries->front();
auto const& qe = sQueries->front();
auto const &e = sEntries->at(qe.index);
auto const& e = sEntries->at(qe.index);
if (e.timeEndCPU == 0)
break; // not finished yet
if (force || (qe.queryStart->isAvailable() && qe.queryEnd->isAvailable()))
{
auto &e = sEntries->at(qe.index);
auto& e = sEntries->at(qe.index);
e.timeStartGPU = qe.queryStart->getNanoseconds();
e.timeEndGPU = qe.queryEnd->getNanoseconds();
@@ -196,7 +198,7 @@ void GlowActionLabel::print(int maxLines)
std::vector<Result> labels;
sLabelLock.lock();
for (auto const &l : sLabels)
for (auto const& l : sLabels)
{
double sumCPU = 0;
double sumGPU = 0;
@@ -221,9 +223,7 @@ void GlowActionLabel::print(int maxLines)
}
sLabelLock.unlock();
std::sort(begin(labels), end(labels), [](Result const &r, Result const &l) {
return std::max(r.sumGPU, r.sumCPU) > std::max(l.sumGPU, l.sumCPU);
});
std::sort(begin(labels), end(labels), [](Result const& r, Result const& l) { return std::max(r.sumGPU, r.sumCPU) > std::max(l.sumGPU, l.sumCPU); });
if (labels.size() == 0)
return;
@@ -237,9 +237,9 @@ void GlowActionLabel::print(int maxLines)
if (maxLines-- <= 0)
break;
auto const &r = labels[i];
std::cout << r.sumGPU / 10e6 << " ms, " << r.sumCPU / 10e6 << " ms, " << r.avgGPU / 10e6 << " ms, "
<< r.avgCPU / 10e6 << " ms, " << r.count << "x, " << r.name << std::endl;
auto const& r = labels[i];
std::cout << r.sumGPU / 10e6 << " ms, " << r.sumCPU / 10e6 << " ms, " << r.avgGPU / 10e6 << " ms, " << r.avgCPU / 10e6 << " ms, " << r.count
<< "x, " << r.name << std::endl;
}
}
@@ -255,7 +255,4 @@ SharedTimestamp GlowActionLabel::getQuery()
}
}
void GlowActionLabel::releaseQuery(const SharedTimestamp &query)
{
sTimers->push_back(query);
}
void GlowActionLabel::releaseQuery(const SharedTimestamp& query) { sTimers->push_back(query); }
Loading