diff --git a/CMakeLists.txt b/CMakeLists.txt index 061ccb0..0d0dbc1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -85,6 +85,7 @@ endif() # Same in every mode: no link-time dependency on libvulkan, all Vulkan # functions come from volk (otherwise vk*KHR aliases are undefined at link). set(ENGINE_EXTRA_DEFINITIONS + GLFW_INCLUDE_NONE VK_NO_PROTOTYPES VMA_STATIC_VULKAN_FUNCTIONS=0 VMA_DYNAMIC_VULKAN_FUNCTIONS=1 diff --git a/flake.lock b/flake.lock index dae6554..4c186ea 100644 --- a/flake.lock +++ b/flake.lock @@ -20,18 +20,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1790689126, - "narHash": "sha256-ilerN1WLSvF+HMjziC/Wv99J5y02maDH+6hZPwsORKg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b4fd65b198c599cbe814fcb9f42d25d021595ec9", - "type": "github" + "lastModified": 1791366222, + "narHash": "sha256-/4ezBOv6aldGab7qTb6ls3SDpgzG8kuuSqEAA9zEZ8E=", + "rev": "39ad350a0602fa0a58a544344e3e9187526ea45c", + "type": "tarball", + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1087089.39ad350a0602/nixexprs.tar.zst" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "root": { diff --git a/flake.nix b/flake.nix index c5ae0b7..3fa78dc 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "VulkanEngine development environment"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; }; @@ -88,6 +88,11 @@ "${pkgs.vulkan-validation-layers}"; shellHook = '' + export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath [ + pkgs.vulkan-loader + pkgs.wayland + pkgs.libxkbcommon + ]}" echo "VulkanEngine development environment" echo "CMake: $(cmake --version | head -n1)" echo "Ninja: $(ninja --version)" diff --git a/src/Common/Types.h b/src/Common/Types.h index 7c6803b..f571af7 100644 --- a/src/Common/Types.h +++ b/src/Common/Types.h @@ -22,7 +22,7 @@ #include #include -#define GLFW_INCLUDE_NONE +//#define GLFW_INCLUDE_NONE #include #define GLM_ENABLE_EXPERIMENTAL diff --git a/src/Engine/engine/engine.h b/src/Engine/engine/engine.h index d66a4f3..71c84a8 100644 --- a/src/Engine/engine/engine.h +++ b/src/Engine/engine/engine.h @@ -774,10 +774,16 @@ void Engine::initVulkan() { volkLoadDevice(_device); + VmaVulkanFunctions vmaFuncs{ + .vkGetInstanceProcAddr = vkGetInstanceProcAddr, // Volk pointers + .vkGetDeviceProcAddr = vkGetDeviceProcAddr + }; + VmaAllocatorCreateInfo allocatorInfo = { .flags = VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT, .physicalDevice = _choosenGPU, .device = _device, + .pVulkanFunctions = &vmaFuncs, .instance = _instance };