Add option to name threads and name main thread

This commit is contained in:
2020-11-20 21:37:12 +01:00
parent ef80e8918f
commit 7ed8f0134f
3 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#include "Utils.hpp"
#ifdef _MSC_VER
#include <Windows.h>
#else
#include <pthread.h>
#endif
namespace openVulkanoCpp
{
void Utils::SetThreadName(const std::string& name)
{
#ifdef _MSC_VER
auto thisThread = ::GetCurrentThread();
std::wstring namew(name.begin(), name.end());
SetThreadDescription(thisThread, namew.c_str());
#else
pthread_setname_np(pthread_self(), name.c_str());
#endif
}
}

View File

@@ -16,6 +16,8 @@ namespace openVulkanoCpp
class Utils
{
public:
static void SetThreadName(const std::string& name);
static inline std::vector<const char*> toCString(const std::vector<std::string>& values)
{
std::vector<const char*> result;

View File

@@ -17,6 +17,7 @@ namespace openVulkanoCpp
GraphicsAppManager::GraphicsAppManager(openVulkanoCpp::IGraphicsApp* app, RenderAPI::RenderApi renderApi)
: app(app), renderApi(renderApi)
{
Utils::SetThreadName("Main");
Logger::SetupLogger();
if (!app)
{