summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/declarations.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-02-14 16:06:48 +0100
committerGitHub <noreply@github.com>2019-02-14 16:06:48 +0100
commitfcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70 (patch)
tree05acdede20385a9d738666c59fb63aa9ca055a6a /src/video_core/renderer_vulkan/declarations.h
parentMerge pull request #2115 from lioncash/local (diff)
parentvk_device: Abstract device handling into a class (diff)
downloadyuzu-fcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70.tar
yuzu-fcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70.tar.gz
yuzu-fcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70.tar.bz2
yuzu-fcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70.tar.lz
yuzu-fcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70.tar.xz
yuzu-fcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70.tar.zst
yuzu-fcc3aa0bbf4a1343f90dfc7a93afc31e770c3a70.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/declarations.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/declarations.h b/src/video_core/renderer_vulkan/declarations.h
new file mode 100644
index 000000000..ba25b5bc7
--- /dev/null
+++ b/src/video_core/renderer_vulkan/declarations.h
@@ -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