Просмотр исходного кода

Fix some assertions on Android

Panagiotis Christopoulos Charitos 2 лет назад
Родитель
Сommit
f4438b26d5
3 измененных файлов с 9 добавлено и 5 удалено
  1. 1 0
      AnKi/Core/App.cpp
  2. 0 5
      AnKi/Core/StatsSet.cpp
  3. 8 0
      AnKi/Core/StatsSet.h

+ 1 - 0
AnKi/Core/App.cpp

@@ -189,6 +189,7 @@ Error App::init()
 
 Error App::initInternal()
 {
+	StatsSet::getSingleton().initFromMainThread();
 	Logger::getSingleton().enableVerbosity(g_verboseLogCVar.get());
 
 	setSignalHandlers();

+ 0 - 5
AnKi/Core/StatsSet.cpp

@@ -79,11 +79,6 @@ void StatsSet::registerCounter(StatCounter* counter)
 {
 	ANKI_ASSERT(counter);
 
-	if(m_mainThreadId == kMaxU64)
-	{
-		m_mainThreadId = Thread::getCurrentThreadId();
-	}
-
 	// Try grow the array
 	if(m_statCounterArrSize + 1 > m_statCounterArrStorageSize)
 	{

+ 8 - 0
AnKi/Core/StatsSet.h

@@ -243,6 +243,14 @@ class StatsSet : public MakeSingletonSimple<StatsSet>
 	friend class MakeSingletonSimple;
 
 public:
+	void initFromMainThread()
+	{
+#if ANKI_STATS_ENABLED
+		ANKI_ASSERT(m_mainThreadId == kMaxU64);
+		m_mainThreadId = Thread::getCurrentThreadId();
+#endif
+	}
+
 	/// @note Not thread-safe.
 	template<typename TFuncUint, typename TFuncFloat>
 	void iterateStats(TFuncUint funcUint, TFuncFloat funcFloat)