diff --git a/engine/src/engine/vulkanapi/thread/thread_worker.cpp b/engine/src/engine/vulkanapi/thread/thread_worker.cpp index 8cb1d47..cb57c8a 100644 --- a/engine/src/engine/vulkanapi/thread/thread_worker.cpp +++ b/engine/src/engine/vulkanapi/thread/thread_worker.cpp @@ -22,7 +22,7 @@ namespace vulkanapi { void CommandThreadWorker::SyncInvoke(voidFn fn) { - Invoke([&]() { + Invoke([=]() { fn(); mSemaphore.release(); }); diff --git a/engine/src/engine/vulkanapi/thread/worker.cpp b/engine/src/engine/vulkanapi/thread/worker.cpp index aebde3c..17797fa 100644 --- a/engine/src/engine/vulkanapi/thread/worker.cpp +++ b/engine/src/engine/vulkanapi/thread/worker.cpp @@ -19,7 +19,7 @@ namespace vulkanapi { void CommandWorker::InvokeBuffer(commandFn fn) { - mWork->Invoke([&]() { + mWork->Invoke([=]() { Buffer(fn); }); } @@ -34,7 +34,7 @@ namespace vulkanapi { void CommandWorker::InvokeSubmit() { - mWork->Invoke([&]() { + mWork->Invoke([=]() { Submit(); }); } diff --git a/engine/src/engine/vulkanapi/vulkan.h b/engine/src/engine/vulkanapi/vulkan.h index 8a148f6..bb25c87 100644 --- a/engine/src/engine/vulkanapi/vulkan.h +++ b/engine/src/engine/vulkanapi/vulkan.h @@ -1,14 +1,6 @@ #pragma once #include #include -#if defined(_WIN32) -# define VK_USE_PLATFORM_WIN32_KHR -#elif defined(__linux__) || defined(__unix__) -# define VK_USE_PLATFORM_XLIB_KHR -#elif defined(__APPLE__) -# define VK_USE_PLATFORM_MACOS_MVK -#else -#endif #define VK_NO_PROTOTYPES #include "volk.h" #include diff --git a/engine/src/engine/vulkanapi/wrapper/instance_creator.cpp b/engine/src/engine/vulkanapi/wrapper/instance_creator.cpp index b86e182..b0848f8 100644 --- a/engine/src/engine/vulkanapi/wrapper/instance_creator.cpp +++ b/engine/src/engine/vulkanapi/wrapper/instance_creator.cpp @@ -4,10 +4,10 @@ namespace vulkanapi { InstanceCreator::InstanceCreator() : appName("Vulkan Application") - , appVersion(VK_MAKE_VERSION(1, 0, 0)) + , appVersion(VK_API_VERSION_1_3) , engineName("zengine") - , engineVersion(VK_MAKE_VERSION(1, 0, 0)) - , apiVersion(VK_API_VERSION_1_0) + , engineVersion(VK_API_VERSION_1_3) + , apiVersion(VK_API_VERSION_1_3) #ifdef Z_USE_GRAPHIC_DEBUG , messageSeverity(VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) , messageType(VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT) diff --git a/engine/xmake.lua b/engine/xmake.lua index 8bfe301..adb51de 100644 --- a/engine/xmake.lua +++ b/engine/xmake.lua @@ -1,9 +1,11 @@ includes("3rdparty/xmake.lua") +includes("xmake/**xmake.lua") --includes("test/**xmake.lua") add_requires("assimp") target("zengine") set_kind("binary") set_rundir(".") + add_rules("volk.env") add_deps("zcoro","zlog") add_packages("vulkansdk","tinyobjloader","assimp") add_includedirs("src/engine") diff --git a/engine/xmake/volk/xmake.lua b/engine/xmake/volk/xmake.lua new file mode 100644 index 0000000..ba09e32 --- /dev/null +++ b/engine/xmake/volk/xmake.lua @@ -0,0 +1,11 @@ +rule("volk.env") + -- before load + on_load(function (target) + if is_plat("windows") then + target:add("defines", "VK_USE_PLATFORM_WIN32_KHR=1") + elseif is_plat("linux") then + target:add("defines", "VK_USE_PLATFORM_XLIB_KHR=1") + elseif is_plat("macosx") then + target:add("defines", "VK_USE_PLATFORM_MACOS_MVK=1") + end + end) \ No newline at end of file