diff --git a/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.cpp b/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.cpp index f3a981c08..72e07be06 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.cpp +++ b/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.cpp @@ -5,13 +5,13 @@ #include "AndroidVulkanPlatform.h" #include "../RenderToolsVulkan.h" -void AndroidVulkanPlatform::GetInstanceExtensions(Array& extensions) +void AndroidVulkanPlatform::GetInstanceExtensions(Array& extensions, Array& layers) { extensions.Add(VK_KHR_SURFACE_EXTENSION_NAME); extensions.Add(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME); } -void AndroidVulkanPlatform::GetDeviceExtensions(Array& extensions) +void AndroidVulkanPlatform::GetDeviceExtensions(Array& extensions, Array& layers) { extensions.Add(VK_KHR_SURFACE_EXTENSION_NAME); extensions.Add(VK_KHR_ANDROID_SURFACE_EXTENSION_NAME); diff --git a/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.h b/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.h index 6667ff268..19c3bd41d 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.h +++ b/Source/Engine/GraphicsDevice/Vulkan/Android/AndroidVulkanPlatform.h @@ -12,9 +12,8 @@ class AndroidVulkanPlatform : public VulkanPlatformBase { public: - - static void GetInstanceExtensions(Array& extensions); - static void GetDeviceExtensions(Array& extensions); + static void GetInstanceExtensions(Array& extensions, Array& layers); + static void GetDeviceExtensions(Array& extensions, Array& layers); static void CreateSurface(void* windowHandle, VkInstance instance, VkSurfaceKHR* surface); }; diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp index a814906d3..87e0673d3 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp +++ b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp @@ -243,8 +243,6 @@ void GPUDeviceVulkan::GetInstanceLayersAndExtensions(Array& outInst } } - VulkanPlatform::NotifyFoundInstanceLayersAndExtensions(foundUniqueLayers, foundUniqueExtensions); - // TODO: expose as a command line parameter or sth const bool useVkTrace = false; bool vkTrace = false; @@ -336,7 +334,7 @@ void GPUDeviceVulkan::GetInstanceLayersAndExtensions(Array& outInst #endif Array platformExtensions; - VulkanPlatform::GetInstanceExtensions(platformExtensions); + VulkanPlatform::GetInstanceExtensions(platformExtensions, outInstanceLayers); for (const char* extension : platformExtensions) { @@ -453,8 +451,6 @@ void GPUDeviceVulkan::GetDeviceExtensionsAndLayers(VkPhysicalDevice gpu, Array platformExtensions; - VulkanPlatform::GetDeviceExtensions(platformExtensions); + VulkanPlatform::GetDeviceExtensions(platformExtensions, outDeviceLayers); for (const char* extension : platformExtensions) { if (ListContains(availableExtensions, extension)) diff --git a/Source/Engine/GraphicsDevice/Vulkan/IncludeVulkanHeaders.h b/Source/Engine/GraphicsDevice/Vulkan/IncludeVulkanHeaders.h index fec251eca..a197f370a 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/IncludeVulkanHeaders.h +++ b/Source/Engine/GraphicsDevice/Vulkan/IncludeVulkanHeaders.h @@ -13,7 +13,6 @@ #define VK_USE_PLATFORM_VI_NN 1 #include #undef VK_EXT_debug_utils -#undef VK_EXT_debug_report #undef VK_EXT_validation_cache #define VMA_DEDICATED_ALLOCATION 0 #pragma clang diagnostic ignored "-Wpointer-bool-conversion" diff --git a/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.cpp b/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.cpp index dc864ec47..0c407e5a2 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.cpp +++ b/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.cpp @@ -47,9 +47,8 @@ VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR( extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; -void LinuxVulkanPlatform::GetInstanceExtensions(Array& extensions) +void LinuxVulkanPlatform::GetInstanceExtensions(Array& extensions, Array& layers) { - // Include X11 surface extension extensions.Add(VK_KHR_SURFACE_EXTENSION_NAME); extensions.Add(VK_KHR_XLIB_SURFACE_EXTENSION_NAME); } diff --git a/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.h b/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.h index 32742ecb0..a9d095625 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.h +++ b/Source/Engine/GraphicsDevice/Vulkan/Linux/LinuxVulkanPlatform.h @@ -14,8 +14,7 @@ class LinuxVulkanPlatform : public VulkanPlatformBase { public: - - static void GetInstanceExtensions(Array& extensions); + static void GetInstanceExtensions(Array& extensions, Array& layers); static void CreateSurface(void* windowHandle, VkInstance instance, VkSurfaceKHR* outSurface); }; diff --git a/Source/Engine/GraphicsDevice/Vulkan/VulkanPlatformBase.h b/Source/Engine/GraphicsDevice/Vulkan/VulkanPlatformBase.h index a12aef222..13a81ce94 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/VulkanPlatformBase.h +++ b/Source/Engine/GraphicsDevice/Vulkan/VulkanPlatformBase.h @@ -25,19 +25,11 @@ class VulkanPlatformBase { public: - static void NotifyFoundInstanceLayersAndExtensions(const Array& layers, const Array& extensions) + static void GetInstanceExtensions(Array& extensions, Array& layers) { } - static void NotifyFoundDeviceLayersAndExtensions(VkPhysicalDevice physicalDevice, const Array& layers, const Array& extensions) - { - } - - static void GetInstanceExtensions(Array& outExtensions) - { - } - - static void GetDeviceExtensions(Array& outExtensions) + static void GetDeviceExtensions(Array& extensions, Array& layers) { } diff --git a/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.cpp b/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.cpp index beaa2751b..57d324710 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.cpp +++ b/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.cpp @@ -7,9 +7,8 @@ #include "../RenderToolsVulkan.h" #include "Engine/Graphics/GPUDevice.h" -void Win32VulkanPlatform::GetInstanceExtensions(Array& extensions) +void Win32VulkanPlatform::GetInstanceExtensions(Array& extensions, Array& layers) { - // Include Windows surface extension extensions.Add(VK_KHR_SURFACE_EXTENSION_NAME); extensions.Add(VK_KHR_WIN32_SURFACE_EXTENSION_NAME); } diff --git a/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.h b/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.h index 53397b538..95cf8bd25 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.h +++ b/Source/Engine/GraphicsDevice/Vulkan/Win32/Win32VulkanPlatform.h @@ -17,8 +17,7 @@ class Win32VulkanPlatform : public VulkanPlatformBase { public: - - static void GetInstanceExtensions(Array& extensions); + static void GetInstanceExtensions(Array& extensions, Array& layers); static void CreateSurface(void* windowHandle, VkInstance instance, VkSurfaceKHR* surface); };