From 8b86fbac17b9f990f653f534e9cc57b34c5572eb Mon Sep 17 00:00:00 2001 From: Eleni Maria Stea Date: Sat, 3 Jul 2021 17:12:30 +0300 Subject: vulkaninfo/cube: added support for FreeBSD Made some changes for Vulkan-Tools to compile on FreeBSD. --- cube/cube.cpp | 2 +- cube/gettime.h | 2 +- vulkaninfo/vulkaninfo.h | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cube/cube.cpp b/cube/cube.cpp index e7826d8e..f5db1f69 100644 --- a/cube/cube.cpp +++ b/cube/cube.cpp @@ -3256,7 +3256,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pCmdLine, return (int)msg.wParam; } -#elif __linux__ +#elif defined(__linux__) || defined(__FreeBSD__) int main(int argc, char **argv) { Demo demo; diff --git a/cube/gettime.h b/cube/gettime.h index 0139c7ae..4be0d851 100644 --- a/cube/gettime.h +++ b/cube/gettime.h @@ -26,7 +26,7 @@ #include -#elif defined(__unix__) || defined(__linux) || defined(__linux__) || defined(__ANDROID__) || defined(__EPOC32__) || defined(__QNX__) +#elif defined(__unix__) || defined(__linux) || defined(__linux__) || defined(__FreeBSD__) || defined(__ANDROID__) || defined(__EPOC32__) || defined(__QNX__) #include diff --git a/vulkaninfo/vulkaninfo.h b/vulkaninfo/vulkaninfo.h index 72854cf2..b4505b8c 100644 --- a/vulkaninfo/vulkaninfo.h +++ b/vulkaninfo/vulkaninfo.h @@ -66,7 +66,7 @@ #endif #endif // _WIN32 -#if defined(__linux__) || defined(__APPLE__) +#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) #include #endif @@ -262,7 +262,7 @@ auto GetVector(const char *func_name, F &&f, Ts &&... ts) -> std::vector { // ----------- Instance Setup ------- // struct VkDll { VkResult Initialize() { -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) library = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL); if (!library) library = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL); #elif defined(_WIN32) @@ -274,7 +274,7 @@ struct VkDll { return VK_SUCCESS; } void Close() { -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) dlclose(library); #elif defined(_WIN32) FreeLibrary(library); @@ -429,13 +429,13 @@ struct VkDll { private: template void Load(T &func_dest, const char *func_name) { -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) func_dest = reinterpret_cast(dlsym(library, func_name)); #elif defined(_WIN32) func_dest = reinterpret_cast(GetProcAddress(library, func_name)); #endif } -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) void *library; #elif defined(_WIN32) HMODULE library; -- cgit v1.2.3