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
rhi_support_p.h
Go to the documentation of this file.
1
// Copyright (C) 2026 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4
//
5
// W A R N I N G
6
// -------------
7
//
8
// This file is not part of the Qt API. It exists purely as an
9
// implementation detail. This header file may change from version to
10
// version without notice, or even be removed.
11
//
12
// We mean it.
13
//
14
15
#
ifndef
RHI_SUPPORT_P_H
16
#
define
RHI_SUPPORT_P_H
17
18
#
include
<
QtGui
/
qoffscreensurface
.
h
>
19
#
include
<
QtGui
/
rhi
/
qrhi
.
h
>
20
#
include
<
QtCore
/
private
/
qexpected_p
.
h
>
21
22
#
include
<
memory
>
23
24
#
if
defined
(
Q_OS_WIN
)
25
#
include
<
QtMultimediaTestLib
/
private
/
qwindowsd3d11testdevicecontext_p
.
h
>
26
#
endif
27
28
QT_BEGIN_NAMESPACE
29
30
namespace
QtMultimediaTest
{
31
32
std
::
unique_ptr
<
QRhi
>
createNullRhi
();
33
34
#
if
QT_CONFIG
(
opengl
)
35
struct
OffscreenGlRhi
36
{
37
// the QRhi must be destroyed before the QOffscreenSurface it was built from.
38
std
::
unique_ptr
<
QOffscreenSurface
>
fallbackSurface
;
39
std
::
unique_ptr
<
QRhi
>
rhi
;
40
};
41
42
q23
::
expected
<
OffscreenGlRhi
,
QString
>
createOffscreenGlRhi
();
43
#
endif
44
45
#
if
QT_CONFIG
(
vulkan
)
46
struct
OffscreenVulkanRhi
47
{
48
// the QRhi must be destroyed before the QVulkanInstance it was built from.
49
std
::
unique_ptr
<
QVulkanInstance
>
vulkanInstance
;
50
std
::
unique_ptr
<
QRhi
>
rhi
;
51
};
52
53
// Requests Vulkan 1.1 (so that callers relying on functionality promoted to core in 1.1, e.g.
54
// vkGetPhysicalDeviceProperties2 or VK_KHR_external_memory, don't need to enable it as an
55
// extension) and any device extensions the caller asks for (e.g. "VK_KHR_external_memory_fd").
56
q23
::
expected
<
OffscreenVulkanRhi
,
QString
>
57
createOffscreenVulkanRhi
(
const
QByteArrayList
&
deviceExtensions
= {});
58
#
endif
59
60
#
if
QT_CONFIG
(
metal
)
61
std
::
unique_ptr
<
QRhi
>
createOffscreenMetalRhi
();
62
#
endif
63
64
#
if
defined
(
Q_OS_WIN
)
65
std
::
unique_ptr
<
QRhi
>
createOffscreenD3D11Rhi
();
66
std
::
unique_ptr
<
QRhi
>
createWarpD3D11Rhi
(
const
QWindowsD3D11TestDeviceContext
&
warpDevice
);
67
std
::
unique_ptr
<
QRhi
>
createD3D12Rhi
();
68
#
endif
69
70
q23
::
expected
<
QByteArray
,
QString
>
readBackPlane
(QRhi &, quint64 handle, QSize planeSize,
71
QRhiTexture
::
Format
);
72
73
#
if
QT_CONFIG
(
opengl
)
74
q23
::
expected
<
QByteArray
,
QString
>
readBackExternalOesTexture
(
QRhi
&,
quint64
handle
,
QSize
size
);
75
#
endif
76
77
}
// namespace QtMultimediaTest
78
79
QT_END_NAMESPACE
80
81
#
endif
// RHI_SUPPORT_P_H
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtMultimediaTest
Definition
framegrabber.cpp:20
QtMultimediaTest::readBackPlane
q23::expected< QByteArray, QString > readBackPlane(QRhi &rhi, quint64 handle, QSize planeSize, QRhiTexture::Format format)
Definition
rhi_support.cpp:112
QtMultimediaTest::createNullRhi
std::unique_ptr< QRhi > createNullRhi()
Definition
rhi_support.cpp:17
qtmultimedia
src
multimediatestlib
rhi_support_p.h
Generated on
for Qt by
1.18.0