|
|
|
@ -11,6 +11,7 @@ |
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "common/common_types.h"
|
|
|
|
#include "common/settings.h"
|
|
|
|
#include "common/logging/log.h"
|
|
|
|
#include "video_core/vulkan_common/vk_enum_string_helper.h"
|
|
|
|
#include "video_core/vulkan_common/vma.h"
|
|
|
|
@ -309,7 +310,10 @@ const char* Exception::what() const noexcept { |
|
|
|
} |
|
|
|
|
|
|
|
void Destroy(VkInstance instance, const InstanceDispatch& dld) noexcept { |
|
|
|
dld.vkDestroyInstance(instance, nullptr); |
|
|
|
// FIXME: A double free occurs here if RAII is enabled.
|
|
|
|
if (!Settings::values.enable_raii.GetValue()) { |
|
|
|
dld.vkDestroyInstance(instance, nullptr); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void Destroy(VkDevice device, const InstanceDispatch& dld) noexcept { |
|
|
|
@ -412,7 +416,10 @@ void Destroy(VkInstance instance, VkDebugReportCallbackEXT handle, |
|
|
|
} |
|
|
|
|
|
|
|
void Destroy(VkInstance instance, VkSurfaceKHR handle, const InstanceDispatch& dld) noexcept { |
|
|
|
dld.vkDestroySurfaceKHR(instance, handle, nullptr); |
|
|
|
// FIXME: A double free occurs here if RAII is enabled.
|
|
|
|
if (!Settings::values.enable_raii.GetValue()) { |
|
|
|
dld.vkDestroySurfaceKHR(instance, handle, nullptr); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
VkResult Free(VkDevice device, VkDescriptorPool handle, Span<VkDescriptorSet> sets, |
|
|
|
|