Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qvulkaninstance_p.h
Go to the documentation of this file.
1
// Copyright (C) 2022 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
// Qt-Security score:significant reason:default
4
5
#
ifndef
QVULKANINSTANCE_P_H
6
#
define
QVULKANINSTANCE_P_H
7
8
#
include
<
QtGui
/
private
/
qtguiglobal_p
.
h
>
9
10
#
if
(
QT_CONFIG
(
vulkan
)
&&
__has_include
(
<
vulkan
/
vulkan
.
h
>
)
)
||
defined
(
Q_QDOC
)
11
12
#
include
"qvulkaninstance.h"
13
#
include
<
private
/
qvulkanfunctions_p
.
h
>
14
#
include
<
QtCore
/
QHash
>
15
#
include
<
QtCore
/
QMutex
>
16
17
//
18
// W A R N I N G
19
// -------------
20
//
21
// This file is not part of the Qt API. It exists for the convenience
22
// of a number of Qt sources files. This header file may change from
23
// version to version without notice, or even be removed.
24
//
25
// We mean it.
26
//
27
28
QT_BEGIN_NAMESPACE
29
30
class
Q_GUI_EXPORT QVulkanInstancePrivate
31
{
32
public
:
33
QVulkanInstancePrivate(QVulkanInstance *q)
34
: q_ptr(q),
35
vkInst(VK_NULL_HANDLE),
36
errorCode(VK_SUCCESS)
37
{ }
38
~QVulkanInstancePrivate() { reset(); }
39
static
QVulkanInstancePrivate *get(QVulkanInstance *q) {
return
q->d_ptr.data(); }
40
41
bool
ensureVulkan();
42
void
reset();
43
44
QVulkanInstance *q_ptr;
45
QScopedPointer<QPlatformVulkanInstance> platformInst;
46
VkInstance vkInst;
47
QVulkanInstance::Flags flags;
48
QByteArrayList layers;
49
QByteArrayList extensions;
50
QVersionNumber apiVersion;
51
VkResult errorCode;
52
QScopedPointer<QVulkanFunctions> funcs;
53
QMutex deviceFuncsMutex;
54
QHash<VkDevice, QVulkanDeviceFunctions *> deviceFuncs;
55
QList<QVulkanInstance::DebugFilter> debugFilters;
// legacy filters based on VK_EXT_debug_report
56
QList<QVulkanInstance::DebugUtilsFilter> debugUtilsFilters;
// the modern version based on VK_EXT_debug_utils
57
};
58
59
QT_END_NAMESPACE
60
61
#
endif
// QT_CONFIG(vulkan) && __has_include(<vulkan/vulkan.h>)
62
63
#
endif
// QVULKANINSTANCE_P_H
operator<<
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
Definition
qfileinfo.cpp:1830
qtbase
src
gui
vulkan
qvulkaninstance_p.h
Generated on
for Qt by
1.18.0