25class QOpenXRGraphicsD3D12 :
public QAbstractOpenXRGraphics
28 QOpenXRGraphicsD3D12();
30 bool isExtensionSupported(
const QVector<XrExtensionProperties> &extensions)
const override;
31 const char *extensionName()
const override;
32 const XrBaseInStructure *handle()
const override;
33 bool setupGraphics(
const XrInstance &instance, XrSystemId &systemId,
const QQuickGraphicsConfiguration &quickConfig) override;
34 bool finializeGraphics(QRhi *rhi) override;
35 int64_t colorSwapchainFormat(
const QVector<int64_t> &swapchainFormats)
const override;
36 int64_t depthSwapchainFormat(
const QVector<int64_t> &swapchainFormats)
const override;
37 QVector<XrSwapchainImageBaseHeader*> allocateSwapchainImages(
int count, XrSwapchain swapchain) override;
38 QQuickRenderTarget renderTarget(
const XrSwapchainSubImage &subImage,
const XrSwapchainImageBaseHeader *swapchainImage,
39 quint64 swapchainFormat,
int samples,
int arraySize,
40 const XrSwapchainImageBaseHeader *depthSwapchainImage, quint64 depthSwapchainFormat)
const override;
41 QRhi *rhi()
const override {
return m_rhi; }
42 void setupWindow(QQuickWindow *quickWindow) override;
45 QRhi *m_rhi =
nullptr;
46 XrGraphicsBindingD3D12KHR m_graphicsBinding = {};
47 QMap<XrSwapchain, QVector<XrSwapchainImageD3D12KHR>> m_swapchainImageBuffer;
48 XrGraphicsRequirementsD3D12KHR m_graphicsRequirements = {};