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
qqnxvulkaninstance.h
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
4#ifndef QQNXVULKANINSTANCE_H
5#define QQNXVULKANINSTANCE_H
6
7#if defined(VULKAN_H_) && !defined(VK_USE_PLATFORM_SCREEN_QNX)
8#error "vulkan.h included without QNX Screen WSI"
9#endif
10
11#define VK_USE_PLATFORM_SCREEN_QNX
12
13#include <QtGui/private/qbasicvulkanplatforminstance_p.h>
14#include <QtCore/QLoggingCategory>
15
17
19
20class QQnxWindow;
21
23{
24public:
25 QQnxVulkanInstance(QVulkanInstance *instance);
27
29 bool supportsPresent(VkPhysicalDevice physicalDevice,
30 uint32_t queueFamilyIndex,
31 QWindow *window) override;
32 // presentQueued() is intentionally not overridden: the QNX Screen ICD calls
33 // screen_post_window() internally during vkQueuePresentKHR, so no explicit
34 // screen_flush_context() is needed (unlike the raster path).
35 //
36 // presentAboutToBeQueued() sets the frame-pacing gate on the window so that
37 // requestUpdate() is suppressed until the SCREEN_NOTIFY_UPDATE pulse fires.
38 // This mirrors QWaylandVulkanInstance::presentAboutToBeQueued().
39 void presentAboutToBeQueued(QWindow *window) override;
40
42
43private:
44 QVulkanInstance *m_instance;
45 PFN_vkCreateScreenSurfaceQNX m_createSurface;
46 PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX m_getPhysDevScreenPresSupport;
47};
48
49QT_END_NAMESPACE
50
51#endif // QQNXVULKANINSTANCE_H
void presentAboutToBeQueued(QWindow *window) override
QQnxVulkanInstance(QVulkanInstance *instance)
void createOrAdoptInstance() override
bool supportsPresent(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, QWindow *window) override
VkSurfaceKHR createSurface(QQnxWindow *window)
The QQnxWindow is the base class of the various classes used as instances of QPlatformWindow in the Q...
Definition qqnxwindow.h:32
Combined button and popup list for selecting options.
QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcQIORing)