From ed3f9bab11b7160f17c08af1c57cfb4598514941 Mon Sep 17 00:00:00 2001
From: Alexandre Bouvier <contact@amb.tf>
Date: Sun, 30 Jul 2023 13:10:00 +0200
Subject: [PATCH] vma: enable options everywhere

---
 src/video_core/CMakeLists.txt                       |  2 ++
 src/video_core/vulkan_common/vma.cpp                |  4 +---
 src/video_core/vulkan_common/vma.h                  | 11 +++++++++++
 src/video_core/vulkan_common/vulkan.h               | 13 +++++++++++++
 src/video_core/vulkan_common/vulkan_device.cpp      |  3 +--
 .../vulkan_common/vulkan_memory_allocator.cpp       |  3 +--
 src/video_core/vulkan_common/vulkan_wrapper.cpp     |  4 +---
 src/video_core/vulkan_common/vulkan_wrapper.h       | 11 ++---------
 8 files changed, 32 insertions(+), 19 deletions(-)
 create mode 100644 src/video_core/vulkan_common/vma.h
 create mode 100644 src/video_core/vulkan_common/vulkan.h

diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index 7f79111e0..9b13ccbab 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -275,6 +275,8 @@ add_library(video_core STATIC
     vulkan_common/nsight_aftermath_tracker.cpp
     vulkan_common/nsight_aftermath_tracker.h
     vulkan_common/vma.cpp
+    vulkan_common/vma.h
+    vulkan_common/vulkan.h
 )
 
 create_target_directory_groups(video_core)
diff --git a/src/video_core/vulkan_common/vma.cpp b/src/video_core/vulkan_common/vma.cpp
index 1fe2cf52b..addf10762 100644
--- a/src/video_core/vulkan_common/vma.cpp
+++ b/src/video_core/vulkan_common/vma.cpp
@@ -2,7 +2,5 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 
 #define VMA_IMPLEMENTATION
-#define VMA_STATIC_VULKAN_FUNCTIONS 0
-#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1
 
-#include <vk_mem_alloc.h>
\ No newline at end of file
+#include "video_core/vulkan_common/vma.h"
diff --git a/src/video_core/vulkan_common/vma.h b/src/video_core/vulkan_common/vma.h
new file mode 100644
index 000000000..6e25aa1bd
--- /dev/null
+++ b/src/video_core/vulkan_common/vma.h
@@ -0,0 +1,11 @@
+// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "video_core/vulkan_common/vulkan.h"
+
+#define VMA_STATIC_VULKAN_FUNCTIONS 0
+#define VMA_DYNAMIC_VULKAN_FUNCTIONS 1
+
+#include <vk_mem_alloc.h>
diff --git a/src/video_core/vulkan_common/vulkan.h b/src/video_core/vulkan_common/vulkan.h
new file mode 100644
index 000000000..3fa963647
--- /dev/null
+++ b/src/video_core/vulkan_common/vulkan.h
@@ -0,0 +1,13 @@
+// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define VK_NO_PROTOTYPES
+#ifdef _WIN32
+#define VK_USE_PLATFORM_WIN32_KHR
+#elif defined(__APPLE__)
+#define VK_USE_PLATFORM_METAL_EXT
+#endif
+
+#include <vulkan/vulkan.h>
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index 9c6fbb918..7b220c6a3 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -15,6 +15,7 @@
 #include "common/polyfill_ranges.h"
 #include "common/settings.h"
 #include "video_core/vulkan_common/nsight_aftermath_tracker.h"
+#include "video_core/vulkan_common/vma.h"
 #include "video_core/vulkan_common/vulkan_device.h"
 #include "video_core/vulkan_common/vulkan_wrapper.h"
 
@@ -22,8 +23,6 @@
 #include <adrenotools/bcenabler.h>
 #endif
 
-#include <vk_mem_alloc.h>
-
 namespace Vulkan {
 using namespace Common::Literals;
 namespace {
diff --git a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
index 42f3ee0b4..3ef381a38 100644
--- a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
+++ b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp
@@ -11,12 +11,11 @@
 #include "common/common_types.h"
 #include "common/logging/log.h"
 #include "common/polyfill_ranges.h"
+#include "video_core/vulkan_common/vma.h"
 #include "video_core/vulkan_common/vulkan_device.h"
 #include "video_core/vulkan_common/vulkan_memory_allocator.h"
 #include "video_core/vulkan_common/vulkan_wrapper.h"
 
-#include <vk_mem_alloc.h>
-
 namespace Vulkan {
 namespace {
 struct Range {
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp
index 2fa29793a..78e5a248f 100644
--- a/src/video_core/vulkan_common/vulkan_wrapper.cpp
+++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp
@@ -9,11 +9,9 @@
 
 #include "common/common_types.h"
 #include "common/logging/log.h"
-
+#include "video_core/vulkan_common/vma.h"
 #include "video_core/vulkan_common/vulkan_wrapper.h"
 
-#include <vk_mem_alloc.h>
-
 namespace Vulkan::vk {
 
 namespace {
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.h b/src/video_core/vulkan_common/vulkan_wrapper.h
index 32bd75ad8..3089c3d41 100644
--- a/src/video_core/vulkan_common/vulkan_wrapper.h
+++ b/src/video_core/vulkan_common/vulkan_wrapper.h
@@ -12,13 +12,8 @@
 #include <utility>
 #include <vector>
 
-#define VK_NO_PROTOTYPES
-#ifdef _WIN32
-#define VK_USE_PLATFORM_WIN32_KHR
-#elif defined(__APPLE__)
-#define VK_USE_PLATFORM_METAL_EXT
-#endif
-#include <vulkan/vulkan.h>
+#include "common/common_types.h"
+#include "video_core/vulkan_common/vulkan.h"
 
 // Sanitize macros
 #ifdef CreateEvent
@@ -28,8 +23,6 @@
 #undef CreateSemaphore
 #endif
 
-#include "common/common_types.h"
-
 #ifdef _MSC_VER
 #pragma warning(disable : 26812) // Disable prefer enum class over enum
 #endif