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
qopenxrgraphics_vulkan_p.h
Go to the documentation of this file.
1
// Copyright (C) 2024 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
6
#
ifndef
QOPENXRGRAPHICSVULKAN_H
7
#
define
QOPENXRGRAPHICSVULKAN_H
8
9
//
10
// W A R N I N G
11
// -------------
12
//
13
// This file is not part of the Qt API. It exists purely as an
14
// implementation detail. This header file may change from version to
15
// version without notice, or even be removed.
16
//
17
// We mean it.
18
//
19
20
21
#
include
<
QtQuick3DXr
/
private
/
qabstractopenxrgraphics_p
.
h
>
22
#
include
<
QtQuick3DXr
/
private
/
qopenxrplatform_p
.
h
>
23
#
include
<
QtGui
/
QVulkanInstance
>
24
#
include
<
QtQuick
/
QQuickGraphicsConfiguration
>
25
26
QT_BEGIN_NAMESPACE
27
28
class
QRhiTexture;
29
30
class
QOpenXRGraphicsVulkan
:
public
QAbstractOpenXRGraphics
31
{
32
public
:
33
QOpenXRGraphicsVulkan
();
34
35
QVector
<
const
char
*>
getRequiredExtensions
()
const
override
;
36
bool
initialize
(
const
QVector<XrExtensionProperties> &extensions)
override
;
37
const
XrBaseInStructure
*
handle
()
const
override
;
38
bool
setupGraphics
(
const
XrInstance &instance, XrSystemId &systemId,
const
QQuickGraphicsConfiguration &quickConfig)
override
;
39
bool
finializeGraphics
(QRhi *rhi)
override
;
40
int64_t
colorSwapchainFormat
(
const
QVector<int64_t> &swapchainFormats)
const
override
;
41
int64_t
depthSwapchainFormat
(
const
QVector<int64_t> &swapchainFormats)
const
override
;
42
QVector
<
XrSwapchainImageBaseHeader
*>
allocateSwapchainImages
(
int
count, XrSwapchain swapchain)
override
;
43
QQuickRenderTarget
renderTarget
(
const
XrSwapchainSubImage &subImage,
const
XrSwapchainImageBaseHeader *swapchainImage,
44
quint64 swapchainFormat,
int
samples,
int
arraySize,
45
const
XrSwapchainImageBaseHeader *depthSwapchainImage, quint64 depthSwapchainFormat)
const
override
;
46
void
setupWindow
(QQuickWindow *quickWindow)
override
;
47
QRhi
*
rhi
()
const
override
{
return
m_rhi; }
48
void
releaseResources
()
override
;
49
50
private
:
51
QVulkanInstance m_vulkanInstance;
52
VkDevice m_vulkanDevice =
VK_NULL_HANDLE
;
53
VkPhysicalDevice m_vulkanPhysicalDevice =
VK_NULL_HANDLE
;
54
VkQueue m_vulkanCommandQueue =
VK_NULL_HANDLE
;
55
QQuickGraphicsConfiguration m_graphicsConfiguration;
56
int
m_queueFamilyIndex = -1;
57
XrGraphicsBindingVulkanKHR m_graphicsBinding{};
58
QMap
<
XrSwapchain
,
QVector
<
XrSwapchainImageVulkanKHR
>>
m_swapchainImageBuffer
;
59
QRhi *m_rhi =
nullptr
;
60
mutable
QRhiTexture *m_depthTexture =
nullptr
;
61
};
62
63
QT_END_NAMESPACE
64
65
#
endif
// QOPENXRGRAPHICSVULKAN_H
QOpenXRGraphicsVulkan
Definition
qopenxrgraphics_vulkan_p.h:31
QOpenXRGraphicsVulkan::releaseResources
void releaseResources() override
Definition
qopenxrgraphics_vulkan.cpp:328
QOpenXRGraphicsVulkan::rhi
QRhi * rhi() const override
Definition
qopenxrgraphics_vulkan_p.h:47
QOpenXRGraphicsVulkan::colorSwapchainFormat
int64_t colorSwapchainFormat(const QVector< int64_t > &swapchainFormats) const override
Definition
qopenxrgraphics_vulkan.cpp:197
QOpenXRGraphicsVulkan::finializeGraphics
bool finializeGraphics(QRhi *rhi) override
Definition
qopenxrgraphics_vulkan.cpp:177
QOpenXRGraphicsVulkan::getRequiredExtensions
QVector< const char * > getRequiredExtensions() const override
Definition
qopenxrgraphics_vulkan.cpp:30
QOpenXRGraphicsVulkan::setupWindow
void setupWindow(QQuickWindow *quickWindow) override
Definition
qopenxrgraphics_vulkan.cpp:321
QOpenXRGraphicsVulkan::renderTarget
QQuickRenderTarget renderTarget(const XrSwapchainSubImage &subImage, const XrSwapchainImageBaseHeader *swapchainImage, quint64 swapchainFormat, int samples, int arraySize, const XrSwapchainImageBaseHeader *depthSwapchainImage, quint64 depthSwapchainFormat) const override
Definition
qopenxrgraphics_vulkan.cpp:252
QOpenXRGraphicsVulkan::depthSwapchainFormat
int64_t depthSwapchainFormat(const QVector< int64_t > &swapchainFormats) const override
Definition
qopenxrgraphics_vulkan.cpp:214
QOpenXRGraphicsVulkan::initialize
bool initialize(const QVector< XrExtensionProperties > &extensions) override
Definition
qopenxrgraphics_vulkan.cpp:25
QOpenXRGraphicsVulkan::handle
const XrBaseInStructure * handle() const override
Definition
qopenxrgraphics_vulkan.cpp:36
QOpenXRGraphicsVulkan::QOpenXRGraphicsVulkan
QOpenXRGraphicsVulkan()
Definition
qopenxrgraphics_vulkan.cpp:20
QOpenXRGraphicsVulkan::allocateSwapchainImages
QVector< XrSwapchainImageBaseHeader * > allocateSwapchainImages(int count, XrSwapchain swapchain) override
Definition
qopenxrgraphics_vulkan.cpp:239
QOpenXRGraphicsVulkan::setupGraphics
bool setupGraphics(const XrInstance &instance, XrSystemId &systemId, const QQuickGraphicsConfiguration &quickConfig) override
Definition
qopenxrgraphics_vulkan.cpp:42
OpenXRHelpers
Definition
qopenxrhelpers_p.h:30
OpenXRHelpers::checkXrResult
bool checkXrResult(XrResult result, XrInstance instance)
Definition
qopenxrhelpers.cpp:19
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtquick3d
src
xr
quick3dxr
openxr
qopenxrgraphics_vulkan_p.h
Generated on
for Qt by
1.18.0