From a5b7a7b96c3f7594fd064d2c31fd17920e5f9f26 Mon Sep 17 00:00:00 2001 From: Jack Andersen Date: Mon, 23 Oct 2017 17:11:44 -1000 Subject: [PATCH] Windows fixes --- hecl/extern/athena | 2 +- hecl/extern/boo | 2 +- hecl/lib/Backend/HLSL.cpp | 2 +- hecl/lib/ClientProcess.cpp | 5 ++++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/hecl/extern/athena b/hecl/extern/athena index 5f1b4fe12..e3ce09d91 160000 --- a/hecl/extern/athena +++ b/hecl/extern/athena @@ -1 +1 @@ -Subproject commit 5f1b4fe1224775f18af6ae72e472f103cad666d2 +Subproject commit e3ce09d9146ff6175d34575bc68d043e6b55df3b diff --git a/hecl/extern/boo b/hecl/extern/boo index 41d225bd6..d1b980b52 160000 --- a/hecl/extern/boo +++ b/hecl/extern/boo @@ -1 +1 @@ -Subproject commit 41d225bd64a5e1840a7f4d1ea7bbd33b50cf90aa +Subproject commit d1b980b529fbb0540e9b53fb6c37f431def37c2b diff --git a/hecl/lib/Backend/HLSL.cpp b/hecl/lib/Backend/HLSL.cpp index daa2fa774..b09e253b9 100644 --- a/hecl/lib/Backend/HLSL.cpp +++ b/hecl/lib/Backend/HLSL.cpp @@ -77,7 +77,7 @@ std::string HLSL::GenerateVertToFragStruct(size_t extTexCount, bool reflectionCo if (reflectionCoords) retval += " float2 reflectTcgs[2] : REFLECTUV;\n" - " float reflectAlpha;\n"; + " float reflectAlpha : REFLECTALPHA;\n"; return retval + "};\n"; } diff --git a/hecl/lib/ClientProcess.cpp b/hecl/lib/ClientProcess.cpp index a081095e1..0f724817b 100644 --- a/hecl/lib/ClientProcess.cpp +++ b/hecl/lib/ClientProcess.cpp @@ -86,7 +86,7 @@ void ClientProcess::Worker::proc() m_proc.m_initCv.notify_one(); m_didInit = true; } - while (m_proc.m_pendingQueue.size()) + while (m_proc.m_running && m_proc.m_pendingQueue.size()) { std::shared_ptr trans = std::move(m_proc.m_pendingQueue.front()); ++m_proc.m_inProgress; @@ -186,8 +186,11 @@ void ClientProcess::shutdown() { if (!m_running) return; + std::unique_lock lk(m_mutex); + m_pendingQueue.clear(); m_running = false; m_cv.notify_all(); + lk.unlock(); for (Worker& worker : m_workers) if (worker.m_thr.joinable()) worker.m_thr.join();