@@ -421,7 +421,7 @@ void PipelineFactory::newPipeline(PipelineStateTracker& state, Pipeline& ppline,
return;
}
- LockGuard<Mutex> lock(m_pplinesMtx);
+ LockGuard<SpinLock> lock(m_pplinesMtx);
auto it = m_pplines.find(hash);
if(it != m_pplines.getEnd())
@@ -556,7 +556,7 @@ private:
VkPipelineCache m_pplineCache = VK_NULL_HANDLE;
HashMap<U64, PipelineInternal, Hasher> m_pplines;
- Mutex m_pplinesMtx;
+ SpinLock m_pplinesMtx;
};
/// @}
@@ -425,7 +425,7 @@ private:
if(Base::m_ptr)
{
auto count = Base::m_ptr->getRefcount().fetchSub(1);
- if(count == 1)
+ if(ANKI_UNLIKELY(count == 1))
TDeleter deleter;
deleter(Base::m_ptr);