QRhiMetalInitParams Struct
Metal specific initialization parameters. More...
Header: | #include <rhi/qrhi.h> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate) |
qmake: | QT += gui-private |
Since: | Qt 6.6 |
Inherits: | QRhiInitParams |
Detailed Description
Note: This is a RHI API with limited compatibility guarantees, see QRhi for details.
A Metal-based QRhi needs no special parameters for initialization.
QRhiMetalInitParams params; rhi = QRhi::create(QRhi::Metal, ¶ms);
Note: Metal API validation cannot be enabled programmatically by the QRhi. Instead, either run the debug build of the application in XCode, by generating a .xcodeproj
file via cmake -G Xcode
, or set the environment variable METAL_DEVICE_WRAPPER_TYPE=1
. The variable needs to be set early on in the environment, perferably before starting the process; attempting to set it at QRhi creation time is not functional in practice. (too late probably)
Note: QRhiSwapChain can only target QWindow instances that have their surface type set to QSurface::MetalSurface.
Working with existing Metal devices
When interoperating with another graphics engine, it may be necessary to get a QRhi instance that uses the same Metal device. This can be achieved by passing a pointer to a QRhiMetalNativeHandles to QRhi::create(). The device must be set to a non-null value then. Optionally, a command queue object can be specified as well.
The QRhi does not take ownership of any of the external objects.
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.