32 QVulkanInfoVector<QVulkanLayer> supportedLayers()
const override;
33 QVulkanInfoVector<QVulkanExtension> supportedExtensions()
const override;
35 bool isValid()
const override;
36 VkResult errorCode()
const override;
37 VkInstance vkInstance()
const override;
40 PFN_vkVoidFunction getInstanceProcAddr(
const char *
name)
override;
41 bool supportsPresent(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
QWindow *
window)
override;
42 void setDebugFilters(
const QList<QVulkanInstance::DebugFilter> &
filters)
override;
43 void setDebugUtilsFilters(
const QList<QVulkanInstance::DebugUtilsFilter> &
filters)
override;
45 void destroySurface(VkSurfaceKHR surface)
const;
46 const QList<QVulkanInstance::DebugFilter> *
debugFilters()
const {
return &m_debugFilters; }
47 const QList<QVulkanInstance::DebugUtilsFilter> *
debugUtilsFilters()
const {
return &m_debugUtilsFilters; }
50 void loadVulkanLibrary(
const QString &defaultLibraryName,
int defaultLibraryVersion = -1);
54 VkInstance m_vkInst = VK_NULL_HANDLE;
55 PFN_vkGetInstanceProcAddr m_vkGetInstanceProcAddr =
nullptr;
60 void setupDebugOutput();
62 std::unique_ptr<QLibrary> m_vulkanLib;
64 bool m_ownsVkInst =
false;
65 VkResult m_errorCode = VK_SUCCESS;
66 QVulkanInfoVector<QVulkanLayer> m_supportedLayers;
67 QVulkanInfoVector<QVulkanExtension> m_supportedExtensions;
72 PFN_vkCreateInstance m_vkCreateInstance;
73 PFN_vkEnumerateInstanceLayerProperties m_vkEnumerateInstanceLayerProperties;
74 PFN_vkEnumerateInstanceExtensionProperties m_vkEnumerateInstanceExtensionProperties;
76 PFN_vkDestroyInstance m_vkDestroyInstance;
78#ifdef VK_EXT_debug_utils
79 VkDebugUtilsMessengerEXT m_debugMessenger = VK_NULL_HANDLE;
80 PFN_vkDestroyDebugUtilsMessengerEXT m_vkDestroyDebugUtilsMessengerEXT;
82 QList<QVulkanInstance::DebugFilter> m_debugFilters;
83 QList<QVulkanInstance::DebugUtilsFilter> m_debugUtilsFilters;
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)