Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qmultimedia_vulkan_support.cpp
Go to the documentation of this file.
1// Copyright (C) 2026 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
5
6#include <QtCore/qdebug.h>
7
9
10using namespace Qt::StringLiterals;
11
12QT_WARNING_PUSH
13QT_WARNING_DISABLE_CLANG("-Wswitch")
14QT_WARNING_DISABLE_GCC("-Wswitch")
15
16// Compare: https://docs.vulkan.org/refpages/latest/refpages/source/VkResult.html
17static QString toString(VkResult result)
18{
19 switch (result) {
20 case VK_SUCCESS:
21 return u"VK_SUCCESS"_s;
22 case VK_NOT_READY:
23 return u"VK_NOT_READY"_s;
24 case VK_TIMEOUT:
25 return u"VK_TIMEOUT"_s;
26 case VK_EVENT_SET:
27 return u"VK_EVENT_SET"_s;
28 case VK_EVENT_RESET:
29 return u"VK_EVENT_RESET"_s;
30 case VK_INCOMPLETE:
31 return u"VK_INCOMPLETE"_s;
32 case VK_ERROR_OUT_OF_HOST_MEMORY:
33 return u"VK_ERROR_OUT_OF_HOST_MEMORY"_s;
34 case VK_ERROR_OUT_OF_DEVICE_MEMORY:
35 return u"VK_ERROR_OUT_OF_DEVICE_MEMORY"_s;
36 case VK_ERROR_INITIALIZATION_FAILED:
37 return u"VK_ERROR_INITIALIZATION_FAILED"_s;
38 case VK_ERROR_DEVICE_LOST:
39 return u"VK_ERROR_DEVICE_LOST"_s;
40 case VK_ERROR_MEMORY_MAP_FAILED:
41 return u"VK_ERROR_MEMORY_MAP_FAILED"_s;
42 case VK_ERROR_LAYER_NOT_PRESENT:
43 return u"VK_ERROR_LAYER_NOT_PRESENT"_s;
44 case VK_ERROR_EXTENSION_NOT_PRESENT:
45 return u"VK_ERROR_EXTENSION_NOT_PRESENT"_s;
46 case VK_ERROR_FEATURE_NOT_PRESENT:
47 return u"VK_ERROR_FEATURE_NOT_PRESENT"_s;
48 case VK_ERROR_INCOMPATIBLE_DRIVER:
49 return u"VK_ERROR_INCOMPATIBLE_DRIVER"_s;
50 case VK_ERROR_TOO_MANY_OBJECTS:
51 return u"VK_ERROR_TOO_MANY_OBJECTS"_s;
52 case VK_ERROR_FORMAT_NOT_SUPPORTED:
53 return u"VK_ERROR_FORMAT_NOT_SUPPORTED"_s;
54 case VK_ERROR_FRAGMENTED_POOL:
55 return u"VK_ERROR_FRAGMENTED_POOL"_s;
56 case -13: // VK_ERROR_UNKNOWN
57 return u"VK_ERROR_UNKNOWN"_s;
58 case -1000069000: // VK_ERROR_OUT_OF_POOL_MEMORY
59 return u"VK_ERROR_OUT_OF_POOL_MEMORY"_s;
60 case -1000072003: // VK_ERROR_INVALID_EXTERNAL_HANDLE
61 return u"VK_ERROR_INVALID_EXTERNAL_HANDLE"_s;
62 case -1000161000: // VK_ERROR_FRAGMENTATION
63 return u"VK_ERROR_FRAGMENTATION"_s;
64 case -1000257000: // VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS
65 return u"VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"_s;
66 case 1000297000: // VK_PIPELINE_COMPILE_REQUIRED
67 return u"VK_PIPELINE_COMPILE_REQUIRED"_s;
68 case -1000011001: // VK_ERROR_VALIDATION_FAILED
69 return u"VK_ERROR_VALIDATION_FAILED"_s;
70 case -1000174001: // VK_ERROR_NOT_PERMITTED
71 return u"VK_ERROR_NOT_PERMITTED"_s;
72 case -1000000000: // VK_ERROR_SURFACE_LOST_KHR
73 return u"VK_ERROR_SURFACE_LOST_KHR"_s;
74 case -1000000001: // VK_ERROR_NATIVE_WINDOW_IN_USE_KHR
75 return u"VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"_s;
76 case 1000001003: // VK_SUBOPTIMAL_KHR
77 return u"VK_SUBOPTIMAL_KHR"_s;
78 case -1000001004: // VK_ERROR_OUT_OF_DATE_KHR
79 return u"VK_ERROR_OUT_OF_DATE_KHR"_s;
80 case -1000003001: // VK_ERROR_INCOMPATIBLE_DISPLAY_KHR
81 return u"VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"_s;
82 case -1000012000: // VK_ERROR_INVALID_SHADER_NV
83 return u"VK_ERROR_INVALID_SHADER_NV"_s;
84 case -1000023000: // VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR
85 return u"VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR"_s;
86 case -1000023001: // VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR
87 return u"VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR"_s;
88 case -1000023002: // VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR
89 return u"VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR"_s;
90 case -1000023003: // VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR
91 return u"VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR"_s;
92 case -1000023004: // VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR
93 return u"VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR"_s;
94 case -1000023005: // VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR
95 return u"VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR"_s;
96 case -1000158000: // VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT
97 return u"VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT"_s;
98 case -1000255000: // VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT
99 return u"VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT"_s;
100 case 1000268000: // VK_THREAD_IDLE_KHR
101 return u"VK_THREAD_IDLE_KHR"_s;
102 case 1000268001: // VK_THREAD_DONE_KHR
103 return u"VK_THREAD_DONE_KHR"_s;
104 case 1000268002: // VK_OPERATION_DEFERRED_KHR
105 return u"VK_OPERATION_DEFERRED_KHR"_s;
106 case 1000268003: // VK_OPERATION_NOT_DEFERRED_KHR
107 return u"VK_OPERATION_NOT_DEFERRED_KHR"_s;
108 case -1000299000: // VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR
109 return u"VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR"_s;
110 case -1000338000: // VK_ERROR_COMPRESSION_EXHAUSTED_EXT
111 return u"VK_ERROR_COMPRESSION_EXHAUSTED_EXT"_s;
112 case 1000482000: // VK_INCOMPATIBLE_SHADER_BINARY_EXT
113 return u"VK_INCOMPATIBLE_SHADER_BINARY_EXT"_s;
114 case 1000483000: // VK_PIPELINE_BINARY_MISSING_KHR
115 return u"VK_PIPELINE_BINARY_MISSING_KHR"_s;
116 case -1000483000: // VK_ERROR_NOT_ENOUGH_SPACE_KHR
117 return u"VK_ERROR_NOT_ENOUGH_SPACE_KHR"_s;
118 case -1000208000: // VK_ERROR_PRESENT_TIMING_QUEUE_FULL_EXT
119 return u"VK_ERROR_PRESENT_TIMING_QUEUE_FULL_EXT"_s;
120 default:
121 break;
122 }
123 return u"unknown VkResult"_s;
124}
125
127
128QDebug operator<<(QDebug debug, VkResult result)
129{
130 const QDebugStateSaver saver(debug);
131 debug.nospace().noquote() << "VkResult(0x" << Qt::hex << qToUnderlying(result) << Qt::dec
132 << ", " << toString(result) << ')';
133 return debug;
134}
135
136QT_END_NAMESPACE
Combined button and popup list for selecting options.
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2620