diff options
Diffstat (limited to 'src/quick/scenegraph/qsgdefaultrendercontext_p.h')
-rw-r--r-- | src/quick/scenegraph/qsgdefaultrendercontext_p.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/quick/scenegraph/qsgdefaultrendercontext_p.h b/src/quick/scenegraph/qsgdefaultrendercontext_p.h index 448255a594..c3352aa89f 100644 --- a/src/quick/scenegraph/qsgdefaultrendercontext_p.h +++ b/src/quick/scenegraph/qsgdefaultrendercontext_p.h @@ -16,7 +16,7 @@ // #include <QtQuick/private/qsgcontext_p.h> -#include <QtGui/private/qshader_p.h> +#include <rhi/qshader.h> QT_BEGIN_NAMESPACE @@ -24,6 +24,7 @@ class QRhi; class QRhiCommandBuffer; class QRhiRenderPassDescriptor; class QRhiResourceUpdateBatch; +class QRhiTexture; class QSGMaterialShader; class QSurface; @@ -31,7 +32,7 @@ namespace QSGRhiAtlasTexture { class Manager; } -class Q_QUICK_PRIVATE_EXPORT QSGDefaultRenderContext : public QSGRenderContext +class Q_QUICK_EXPORT QSGDefaultRenderContext : public QSGRenderContext { Q_OBJECT public: @@ -69,6 +70,7 @@ public: void preprocess() override; void invalidateGlyphCaches() override; QSGDistanceFieldGlyphCache *distanceFieldGlyphCache(const QRawFont &font, int renderTypeQuality) override; + QSGCurveGlyphAtlas *curveGlyphAtlas(const QRawFont &font) override; QSGTexture *createTexture(const QImage &image, uint flags) const override; QSGRenderer *createRenderer(QSGRendererInterface::RenderMode renderMode = QSGRendererInterface::RenderMode2D) override; @@ -102,11 +104,10 @@ public: QRhiResourceUpdateBatch *maybeGlyphCacheResourceUpdates(); QRhiResourceUpdateBatch *glyphCacheResourceUpdates(); - void releaseGlyphCacheResourceUpdates(); + void deferredReleaseGlyphCacheTexture(QRhiTexture *texture); + void resetGlyphCacheResources(); protected: - static QString fontKey(const QRawFont &font, int renderTypeQuality); - InitParams m_initParams; QRhi *m_rhi; int m_maxTextureSize; @@ -116,6 +117,8 @@ protected: qreal m_currentDevicePixelRatio; bool m_useDepthBufferFor2D; QRhiResourceUpdateBatch *m_glyphCacheResourceUpdates; + QSet<QRhiTexture *> m_pendingGlyphCacheTextures; + QHash<FontKey, QSGCurveGlyphAtlas *> m_curveGlyphAtlases; }; QT_END_NAMESPACE |