|
|
@@ -0,0 +1,45 @@
|
|
|
+// Copyright 2019 yuzu Emulator Project
|
|
|
+// Licensed under GPLv2 or any later version
|
|
|
+// Refer to the license.txt file included.
|
|
|
+
|
|
|
+#pragma once
|
|
|
+
|
|
|
+#include <vulkan/vulkan.hpp>
|
|
|
+
|
|
|
+namespace Vulkan {
|
|
|
+
|
|
|
+// vulkan.hpp unique handlers use DispatchLoaderStatic
|
|
|
+template <typename T>
|
|
|
+using UniqueHandle = vk::UniqueHandle<T, vk::DispatchLoaderDynamic>;
|
|
|
+
|
|
|
+using UniqueAccelerationStructureNV = UniqueHandle<vk::AccelerationStructureNV>;
|
|
|
+using UniqueBuffer = UniqueHandle<vk::Buffer>;
|
|
|
+using UniqueBufferView = UniqueHandle<vk::BufferView>;
|
|
|
+using UniqueCommandBuffer = UniqueHandle<vk::CommandBuffer>;
|
|
|
+using UniqueCommandPool = UniqueHandle<vk::CommandPool>;
|
|
|
+using UniqueDescriptorPool = UniqueHandle<vk::DescriptorPool>;
|
|
|
+using UniqueDescriptorSet = UniqueHandle<vk::DescriptorSet>;
|
|
|
+using UniqueDescriptorSetLayout = UniqueHandle<vk::DescriptorSetLayout>;
|
|
|
+using UniqueDescriptorUpdateTemplate = UniqueHandle<vk::DescriptorUpdateTemplate>;
|
|
|
+using UniqueDevice = UniqueHandle<vk::Device>;
|
|
|
+using UniqueDeviceMemory = UniqueHandle<vk::DeviceMemory>;
|
|
|
+using UniqueEvent = UniqueHandle<vk::Event>;
|
|
|
+using UniqueFence = UniqueHandle<vk::Fence>;
|
|
|
+using UniqueFramebuffer = UniqueHandle<vk::Framebuffer>;
|
|
|
+using UniqueImage = UniqueHandle<vk::Image>;
|
|
|
+using UniqueImageView = UniqueHandle<vk::ImageView>;
|
|
|
+using UniqueIndirectCommandsLayoutNVX = UniqueHandle<vk::IndirectCommandsLayoutNVX>;
|
|
|
+using UniqueObjectTableNVX = UniqueHandle<vk::ObjectTableNVX>;
|
|
|
+using UniquePipeline = UniqueHandle<vk::Pipeline>;
|
|
|
+using UniquePipelineCache = UniqueHandle<vk::PipelineCache>;
|
|
|
+using UniquePipelineLayout = UniqueHandle<vk::PipelineLayout>;
|
|
|
+using UniqueQueryPool = UniqueHandle<vk::QueryPool>;
|
|
|
+using UniqueRenderPass = UniqueHandle<vk::RenderPass>;
|
|
|
+using UniqueSampler = UniqueHandle<vk::Sampler>;
|
|
|
+using UniqueSamplerYcbcrConversion = UniqueHandle<vk::SamplerYcbcrConversion>;
|
|
|
+using UniqueSemaphore = UniqueHandle<vk::Semaphore>;
|
|
|
+using UniqueShaderModule = UniqueHandle<vk::ShaderModule>;
|
|
|
+using UniqueSwapchainKHR = UniqueHandle<vk::SwapchainKHR>;
|
|
|
+using UniqueValidationCacheEXT = UniqueHandle<vk::ValidationCacheEXT>;
|
|
|
+
|
|
|
+} // namespace Vulkan
|