32 void requestGlyphs(
const QSet<glyph_t> &glyphs)
override;
33 void storeGlyphs(
const QList<QDistanceField> &glyphs)
override;
34 void referenceGlyphs(
const QSet<glyph_t> &glyphs)
override;
35 void releaseGlyphs(
const QSet<glyph_t> &glyphs)
override;
37 bool useTextureResizeWorkaround()
const;
38 bool createFullSizeTextures()
const;
40 int maxTextureSize()
const;
47 bool eightBitFormatIsAlphaSwizzled()
const override;
48 bool screenSpaceDerivativesSupported()
const override;
50#if defined(QSG_DISTANCEFIELD_CACHE_DEBUG)
63 QVarLengthArray<QRhiTextureUploadEntry, 16> uploads;
74 for (
int i = m_textures.size();
i <=
index; ++
i) {
75 if (createFullSizeTextures())
76 m_textures.append(
QRect(0, 0, maxTextureSize(), maxTextureSize()));
81 return &m_textures[
index];
86 mutable int m_maxTextureSize = 0;
87 int m_maxTextureCount = 3;
89 QList<TextureInfo> m_textures;
90 QHash<glyph_t, TextureInfo *> m_glyphsTexture;
91 QSet<glyph_t> m_unusedGlyphs;
92 QSet<glyph_t> m_referencedGlyphs;
93 QSet<QRhiTexture *> m_pendingDispose;