5#ifndef QVULKANINSTANCE_P_H
6#define QVULKANINSTANCE_P_H
8#include <QtGui/private/qtguiglobal_p.h>
10#if QT_CONFIG(vulkan) || defined(Q_QDOC)
12#include "qvulkaninstance.h"
13#include <private/qvulkanfunctions_p.h>
14#include <QtCore/QHash>
15#include <QtCore/QMutex>
30class Q_GUI_EXPORT QVulkanInstancePrivate
33 QVulkanInstancePrivate(QVulkanInstance *q)
35 vkInst(VK_NULL_HANDLE),
38 ~QVulkanInstancePrivate() { reset(); }
39 static QVulkanInstancePrivate *get(QVulkanInstance *q) {
return q->d_ptr.data(); }
44 QVulkanInstance *q_ptr;
45 QScopedPointer<QPlatformVulkanInstance> platformInst;
47 QVulkanInstance::Flags flags;
48 QByteArrayList layers;
49 QByteArrayList extensions;
50 QVersionNumber apiVersion;
52 QScopedPointer<QVulkanFunctions> funcs;
53 QMutex deviceFuncsMutex;
54 QHash<VkDevice, QVulkanDeviceFunctions *> deviceFuncs;
55 QList<QVulkanInstance::DebugFilter> debugFilters;
56 QList<QVulkanInstance::DebugUtilsFilter> debugUtilsFilters;
QDebug operator<<(QDebug dbg, const QFileInfo &fi)