34 QPlatformBackingStore::TextureFlags *
flags)
const;
40 qreal sourceDevicePixelRatio,
44 bool translucentBackground);
47 enum UpdateUniformOption {
48 NeedsRedBlueSwap = 1 << 0,
49 NeedsAlphaRotate = 1 << 1
52 enum UpdateQuadDataOption {
53 NeedsLinearFiltering = 1 << 0
62 QPlatformBackingStore::TextureFlags *
flags)
const;
64 mutable QRhi *m_rhi =
nullptr;
65 mutable std::unique_ptr<QRhiTexture> m_texture;
67 std::unique_ptr<QRhiBuffer> m_vbuf;
68 std::unique_ptr<QRhiSampler> m_samplerNearest;
69 std::unique_ptr<QRhiSampler> m_samplerLinear;
70 std::unique_ptr<QRhiGraphicsPipeline> m_psNoBlend;
71 std::unique_ptr<QRhiGraphicsPipeline> m_psBlend;
72 std::unique_ptr<QRhiGraphicsPipeline> m_psPremulBlend;
82 bool isValid()
const {
return ubuf && srb; }
92 lastUsedTexture =
nullptr;
93 lastUsedTextureExtra =
nullptr;
97 PerQuadData m_widgetQuadData;
98 QVarLengthArray<PerQuadData, 8> m_textureQuadData;
102 UpdateQuadDataOptions options = {});
105 UpdateUniformOptions options = {});
QPlatformBackingStore::FlushResult flush(QPlatformBackingStore *backingStore, QRhi *rhi, QRhiSwapChain *swapchain, QWindow *window, qreal sourceDevicePixelRatio, const QRegion ®ion, const QPoint &offset, QPlatformTextureList *textures, bool translucentBackground)