19#include <QtGui/qsurfaceformat.h>
23#include <QtGui/qvulkaninstance.h>
26#if QT_CONFIG(metal) || defined(Q_QDOC)
27Q_FORWARD_DECLARE_OBJC_CLASS(MTLDevice);
28Q_FORWARD_DECLARE_OBJC_CLASS(MTLCommandQueue);
29Q_FORWARD_DECLARE_OBJC_CLASS(MTLCommandBuffer);
30Q_FORWARD_DECLARE_OBJC_CLASS(MTLRenderCommandEncoder);
35struct Q_GUI_EXPORT QRhiNullInitParams :
public QRhiInitParams
43#if QT_CONFIG(opengl) || defined(Q_QDOC)
46class QOffscreenSurface;
50struct Q_GUI_EXPORT QRhiGles2InitParams :
public QRhiInitParams
52 QRhiGles2InitParams();
54 QSurfaceFormat format;
55 QSurface *fallbackSurface =
nullptr;
56 QWindow *window =
nullptr;
57 QOpenGLContext *shareContext =
nullptr;
59 static QOffscreenSurface *newFallbackSurface(
const QSurfaceFormat &format = QSurfaceFormat::defaultFormat());
62struct Q_GUI_EXPORT QRhiGles2NativeHandles :
public QRhiNativeHandles
64 QOpenGLContext *context =
nullptr;
69#if (QT_CONFIG(vulkan) && __has_include(<vulkan/vulkan.h>)) || defined(Q_QDOC)
71struct Q_GUI_EXPORT QRhiVulkanInitParams :
public QRhiInitParams
73 QVulkanInstance *inst =
nullptr;
74 QWindow *window =
nullptr;
75 QByteArrayList deviceExtensions;
77 static QByteArrayList preferredInstanceExtensions();
78 static QByteArrayList preferredExtensionsForImportedDevice();
81struct Q_GUI_EXPORT QRhiVulkanNativeHandles :
public QRhiNativeHandles
84 VkPhysicalDevice physDev = VK_NULL_HANDLE;
86 VkDevice dev = VK_NULL_HANDLE;
87 quint32 gfxQueueFamilyIdx = 0;
88 quint32 gfxQueueIdx = 0;
90 void *vmemAllocator =
nullptr;
93 VkQueue gfxQueue = VK_NULL_HANDLE;
94 QVulkanInstance *inst =
nullptr;
97struct Q_GUI_EXPORT QRhiVulkanCommandBufferNativeHandles :
public QRhiNativeHandles
99 VkCommandBuffer commandBuffer = VK_NULL_HANDLE;
102struct Q_GUI_EXPORT QRhiVulkanRenderPassNativeHandles :
public QRhiNativeHandles
104 VkRenderPass renderPass = VK_NULL_HANDLE;
107struct Q_GUI_EXPORT QRhiVulkanQueueSubmitParams :
public QRhiNativeHandles
109 uint32_t waitSemaphoreCount;
110 VkSemaphore *waitSemaphores;
111 uint32_t signalSemaphoreCount;
112 VkSemaphore *signalSemaphores;
113 uint32_t presentWaitSemaphoreCount;
114 VkSemaphore *presentWaitSemaphores;
119#if defined(Q_OS_WIN) || defined(Q_QDOC)
123struct Q_GUI_EXPORT QRhiD3D11InitParams :
public QRhiInitParams
125 bool enableDebugLayer =
false;
128struct Q_GUI_EXPORT QRhiD3D11NativeHandles :
public QRhiNativeHandles
132 void *context =
nullptr;
134 int featureLevel = 0;
135 quint32 adapterLuidLow = 0;
136 qint32 adapterLuidHigh = 0;
139struct Q_GUI_EXPORT QRhiD3D12InitParams :
public QRhiInitParams
141 bool enableDebugLayer =
false;
144struct Q_GUI_EXPORT QRhiD3D12NativeHandles :
public QRhiNativeHandles
148 int minimumFeatureLevel = 0;
150 quint32 adapterLuidLow = 0;
151 qint32 adapterLuidHigh = 0;
153 void *commandQueue =
nullptr;
156struct Q_GUI_EXPORT QRhiD3D12CommandBufferNativeHandles :
public QRhiNativeHandles
158 void *commandList =
nullptr;
163#if QT_CONFIG(metal) || defined(Q_QDOC)
165struct Q_GUI_EXPORT QRhiMetalInitParams :
public QRhiInitParams
169struct Q_GUI_EXPORT QRhiMetalNativeHandles :
public QRhiNativeHandles
171 MTLDevice *dev =
nullptr;
172 MTLCommandQueue *cmdQueue =
nullptr;
175struct Q_GUI_EXPORT QRhiMetalCommandBufferNativeHandles :
public QRhiNativeHandles
177 MTLCommandBuffer *commandBuffer =
nullptr;
178 MTLRenderCommandEncoder *encoder =
nullptr;
friend bool operator==(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
Returns true if lhs and rhs are equal, otherwise returns false.
friend bool operator!=(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
Returns true if lhs and rhs are different, otherwise returns false.
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
bool operator<(const QElapsedTimer &lhs, const QElapsedTimer &rhs) noexcept
Q_DECLARE_TYPEINFO(QRhiSwapChainHdrInfo, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QShaderKey, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QShaderCode, Q_RELOCATABLE_TYPE)
Q_GUI_EXPORT bool operator==(const QShaderKey &lhs, const QShaderKey &rhs) noexcept
bool operator!=(const QShaderCode &lhs, const QShaderCode &rhs) noexcept
Q_GUI_EXPORT bool operator==(const QShaderCode &lhs, const QShaderCode &rhs) noexcept
bool operator!=(const QShaderKey &lhs, const QShaderKey &rhs) noexcept
Q_GUI_EXPORT bool operator<(const QShaderKey &lhs, const QShaderKey &rhs) noexcept
int main(int argc, char *argv[])
[ctor_close]
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\variable QRhiReadbackResult::completed
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
LuminanceBehavior
\value SceneReferred Indicates that the color value of 1.0 is interpreted as 80 nits.
float maxPotentialColorComponentValue
LimitsType
\value LuminanceInNits Indicates that the \l limits union has its luminanceInNits struct set
LuminanceBehavior luminanceBehavior
float maxColorComponentValue
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h