Windows fixes

This commit is contained in:
Jack Andersen 2017-10-23 17:11:44 -10:00
parent 48ec4cf6eb
commit a5b7a7b96c
4 changed files with 7 additions and 4 deletions

2
hecl/extern/athena vendored

@ -1 +1 @@
Subproject commit 5f1b4fe1224775f18af6ae72e472f103cad666d2 Subproject commit e3ce09d9146ff6175d34575bc68d043e6b55df3b

2
hecl/extern/boo vendored

@ -1 +1 @@
Subproject commit 41d225bd64a5e1840a7f4d1ea7bbd33b50cf90aa Subproject commit d1b980b529fbb0540e9b53fb6c37f431def37c2b

View File

@ -77,7 +77,7 @@ std::string HLSL::GenerateVertToFragStruct(size_t extTexCount, bool reflectionCo
if (reflectionCoords) if (reflectionCoords)
retval += " float2 reflectTcgs[2] : REFLECTUV;\n" retval += " float2 reflectTcgs[2] : REFLECTUV;\n"
" float reflectAlpha;\n"; " float reflectAlpha : REFLECTALPHA;\n";
return retval + "};\n"; return retval + "};\n";
} }

View File

@ -86,7 +86,7 @@ void ClientProcess::Worker::proc()
m_proc.m_initCv.notify_one(); m_proc.m_initCv.notify_one();
m_didInit = true; m_didInit = true;
} }
while (m_proc.m_pendingQueue.size()) while (m_proc.m_running && m_proc.m_pendingQueue.size())
{ {
std::shared_ptr<Transaction> trans = std::move(m_proc.m_pendingQueue.front()); std::shared_ptr<Transaction> trans = std::move(m_proc.m_pendingQueue.front());
++m_proc.m_inProgress; ++m_proc.m_inProgress;
@ -186,8 +186,11 @@ void ClientProcess::shutdown()
{ {
if (!m_running) if (!m_running)
return; return;
std::unique_lock<std::mutex> lk(m_mutex);
m_pendingQueue.clear();
m_running = false; m_running = false;
m_cv.notify_all(); m_cv.notify_all();
lk.unlock();
for (Worker& worker : m_workers) for (Worker& worker : m_workers)
if (worker.m_thr.joinable()) if (worker.m_thr.joinable())
worker.m_thr.join(); worker.m_thr.join();