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
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
16
QT_BEGIN_NAMESPACE
17
18
Q_DECLARE_LOGGING_CATEGORY
(
lcQpaQnxVulkan
)
19
20
class
QQnxWindow
;
21
22
class
QQnxVulkanInstance
:
public
QBasicPlatformVulkanInstance
23
{
24
public
:
25
QQnxVulkanInstance
(QVulkanInstance *instance);
26
~
QQnxVulkanInstance
()
override
;
27
28
void
createOrAdoptInstance
()
override
;
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
41
VkSurfaceKHR
createSurface
(
QQnxWindow
*window);
42
43
private
:
44
QVulkanInstance *m_instance;
45
PFN_vkCreateScreenSurfaceQNX m_createSurface;
46
PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX m_getPhysDevScreenPresSupport;
47
};
48
49
QT_END_NAMESPACE
50
51
#
endif
// QQNXVULKANINSTANCE_H
QQnxVulkanInstance
Definition
qqnxvulkaninstance.h:23
QQnxVulkanInstance::presentAboutToBeQueued
void presentAboutToBeQueued(QWindow *window) override
Definition
qqnxvulkaninstance.cpp:77
QQnxVulkanInstance::~QQnxVulkanInstance
~QQnxVulkanInstance() override
Definition
qqnxvulkaninstance.cpp:21
QQnxVulkanInstance::QQnxVulkanInstance
QQnxVulkanInstance(QVulkanInstance *instance)
Definition
qqnxvulkaninstance.cpp:13
QQnxVulkanInstance::createOrAdoptInstance
void createOrAdoptInstance() override
Definition
qqnxvulkaninstance.cpp:25
QQnxVulkanInstance::supportsPresent
bool supportsPresent(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, QWindow *window) override
Definition
qqnxvulkaninstance.cpp:40
QQnxVulkanInstance::createSurface
VkSurfaceKHR createSurface(QQnxWindow *window)
Definition
qqnxvulkaninstance.cpp:87
QQnxWindow
The QQnxWindow is the base class of the various classes used as instances of QPlatformWindow in the Q...
Definition
qqnxwindow.h:32
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
Q_DECLARE_LOGGING_CATEGORY
QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcQIORing)
qtbase
src
plugins
platforms
qnx
qqnxvulkaninstance.h
Generated on
for Qt by
1.18.0