summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-03-27 02:46:50 -0300
committerGravatar ReinUsesLisp2020-03-27 03:21:03 -0300
commitf5cee0e88549bab1ed54f926fd53168322c8ff7e (patch)
treec17a784161fd3a762cb2f409639d39569bd6924c /src
parentrenderer_vulkan/wrapper: Add Vulakn wrapper and a span helper (diff)
downloadyuzu-f5cee0e88549bab1ed54f926fd53168322c8ff7e.tar.gz
yuzu-f5cee0e88549bab1ed54f926fd53168322c8ff7e.tar.xz
yuzu-f5cee0e88549bab1ed54f926fd53168322c8ff7e.zip
renderer_vulkan/wrapper: Add ToString function for VkResult
Diffstat (limited to 'src')
-rw-r--r--src/video_core/CMakeLists.txt1
-rw-r--r--src/video_core/renderer_vulkan/wrapper.cpp87
-rw-r--r--src/video_core/renderer_vulkan/wrapper.h3
3 files changed, 91 insertions, 0 deletions
diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
index a8ae3827d..effe76a63 100644
--- a/src/video_core/CMakeLists.txt
+++ b/src/video_core/CMakeLists.txt
@@ -210,6 +210,7 @@ if (ENABLE_VULKAN)
210 renderer_vulkan/vk_texture_cache.h 210 renderer_vulkan/vk_texture_cache.h
211 renderer_vulkan/vk_update_descriptor.cpp 211 renderer_vulkan/vk_update_descriptor.cpp
212 renderer_vulkan/vk_update_descriptor.h 212 renderer_vulkan/vk_update_descriptor.h
213 renderer_vulkan/wrapper.cpp
213 renderer_vulkan/wrapper.h 214 renderer_vulkan/wrapper.h
214 ) 215 )
215 216
diff --git a/src/video_core/renderer_vulkan/wrapper.cpp b/src/video_core/renderer_vulkan/wrapper.cpp
new file mode 100644
index 000000000..b4afafbd5
--- /dev/null
+++ b/src/video_core/renderer_vulkan/wrapper.cpp
@@ -0,0 +1,87 @@
1// Copyright 2020 yuzu Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include <exception>
6#include <memory>
7#include <optional>
8#include <utility>
9#include <vector>
10
11#include "common/common_types.h"
12
13#include "video_core/renderer_vulkan/wrapper.h"
14
15namespace Vulkan::vk {
16
17const char* ToString(VkResult result) noexcept {
18 switch (result) {
19 case VkResult::VK_SUCCESS:
20 return "VK_SUCCESS";
21 case VkResult::VK_NOT_READY:
22 return "VK_NOT_READY";
23 case VkResult::VK_TIMEOUT:
24 return "VK_TIMEOUT";
25 case VkResult::VK_EVENT_SET:
26 return "VK_EVENT_SET";
27 case VkResult::VK_EVENT_RESET:
28 return "VK_EVENT_RESET";
29 case VkResult::VK_INCOMPLETE:
30 return "VK_INCOMPLETE";
31 case VkResult::VK_ERROR_OUT_OF_HOST_MEMORY:
32 return "VK_ERROR_OUT_OF_HOST_MEMORY";
33 case VkResult::VK_ERROR_OUT_OF_DEVICE_MEMORY:
34 return "VK_ERROR_OUT_OF_DEVICE_MEMORY";
35 case VkResult::VK_ERROR_INITIALIZATION_FAILED:
36 return "VK_ERROR_INITIALIZATION_FAILED";
37 case VkResult::VK_ERROR_DEVICE_LOST:
38 return "VK_ERROR_DEVICE_LOST";
39 case VkResult::VK_ERROR_MEMORY_MAP_FAILED:
40 return "VK_ERROR_MEMORY_MAP_FAILED";
41 case VkResult::VK_ERROR_LAYER_NOT_PRESENT:
42 return "VK_ERROR_LAYER_NOT_PRESENT";
43 case VkResult::VK_ERROR_EXTENSION_NOT_PRESENT:
44 return "VK_ERROR_EXTENSION_NOT_PRESENT";
45 case VkResult::VK_ERROR_FEATURE_NOT_PRESENT:
46 return "VK_ERROR_FEATURE_NOT_PRESENT";
47 case VkResult::VK_ERROR_INCOMPATIBLE_DRIVER:
48 return "VK_ERROR_INCOMPATIBLE_DRIVER";
49 case VkResult::VK_ERROR_TOO_MANY_OBJECTS:
50 return "VK_ERROR_TOO_MANY_OBJECTS";
51 case VkResult::VK_ERROR_FORMAT_NOT_SUPPORTED:
52 return "VK_ERROR_FORMAT_NOT_SUPPORTED";
53 case VkResult::VK_ERROR_FRAGMENTED_POOL:
54 return "VK_ERROR_FRAGMENTED_POOL";
55 case VkResult::VK_ERROR_OUT_OF_POOL_MEMORY:
56 return "VK_ERROR_OUT_OF_POOL_MEMORY";
57 case VkResult::VK_ERROR_INVALID_EXTERNAL_HANDLE:
58 return "VK_ERROR_INVALID_EXTERNAL_HANDLE";
59 case VkResult::VK_ERROR_SURFACE_LOST_KHR:
60 return "VK_ERROR_SURFACE_LOST_KHR";
61 case VkResult::VK_ERROR_NATIVE_WINDOW_IN_USE_KHR:
62 return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR";
63 case VkResult::VK_SUBOPTIMAL_KHR:
64 return "VK_SUBOPTIMAL_KHR";
65 case VkResult::VK_ERROR_OUT_OF_DATE_KHR:
66 return "VK_ERROR_OUT_OF_DATE_KHR";
67 case VkResult::VK_ERROR_INCOMPATIBLE_DISPLAY_KHR:
68 return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR";
69 case VkResult::VK_ERROR_VALIDATION_FAILED_EXT:
70 return "VK_ERROR_VALIDATION_FAILED_EXT";
71 case VkResult::VK_ERROR_INVALID_SHADER_NV:
72 return "VK_ERROR_INVALID_SHADER_NV";
73 case VkResult::VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT:
74 return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
75 case VkResult::VK_ERROR_FRAGMENTATION_EXT:
76 return "VK_ERROR_FRAGMENTATION_EXT";
77 case VkResult::VK_ERROR_NOT_PERMITTED_EXT:
78 return "VK_ERROR_NOT_PERMITTED_EXT";
79 case VkResult::VK_ERROR_INVALID_DEVICE_ADDRESS_EXT:
80 return "VK_ERROR_INVALID_DEVICE_ADDRESS_EXT";
81 case VkResult::VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT:
82 return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT";
83 }
84 return "Unknown";
85}
86
87} // namespace Vulkan::vk
diff --git a/src/video_core/renderer_vulkan/wrapper.h b/src/video_core/renderer_vulkan/wrapper.h
index 7ed4cdb3a..8ecc1b5a3 100644
--- a/src/video_core/renderer_vulkan/wrapper.h
+++ b/src/video_core/renderer_vulkan/wrapper.h
@@ -80,4 +80,7 @@ private:
80 std::size_t num = 0; 80 std::size_t num = 0;
81}; 81};
82 82
83/// Converts a VkResult enum into a rodata string
84const char* ToString(VkResult) noexcept;
85
83} // namespace Vulkan::vk 86} // namespace Vulkan::vk