diff --git a/openVulkanoCpp/Base/Utils.cpp b/openVulkanoCpp/Base/Utils.cpp new file mode 100644 index 0000000..75b1d0d --- /dev/null +++ b/openVulkanoCpp/Base/Utils.cpp @@ -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 +#else +#include +#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 + } +} \ No newline at end of file diff --git a/openVulkanoCpp/Base/Utils.hpp b/openVulkanoCpp/Base/Utils.hpp index eec8634..15ce087 100644 --- a/openVulkanoCpp/Base/Utils.hpp +++ b/openVulkanoCpp/Base/Utils.hpp @@ -16,6 +16,8 @@ namespace openVulkanoCpp class Utils { public: + static void SetThreadName(const std::string& name); + static inline std::vector toCString(const std::vector& values) { std::vector result; diff --git a/openVulkanoCpp/Host/GraphicsAppManager.cpp b/openVulkanoCpp/Host/GraphicsAppManager.cpp index d72baf3..1c467d4 100644 --- a/openVulkanoCpp/Host/GraphicsAppManager.cpp +++ b/openVulkanoCpp/Host/GraphicsAppManager.cpp @@ -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) {