8#ifndef GrAtlasManager_DEFINED
9#define GrAtlasManager_DEFINED
46 size_t maxTextureBytes,
48 bool supportBilerpAtlas);
57 if (this->initAtlas(
format)) {
61 *numActiveProxies = 0;
104#if defined(GR_TEST_UTILS)
105 if (onFlushRP->failFlushTimeCallbacks()) {
112 fAtlases[
i]->instantiate(onFlushRP);
121 fAtlases[
i]->compact(startTokenForNextFlush);
147 return static_cast<int>(
format);
155 int atlasIndex = MaskFormatToAtlasIndex(
format);
157 return fAtlases[atlasIndex].get();
163 bool fSupportBilerpAtlas;
#define INHERITED(method,...)
void addGlyphToBulkAndSetUseToken(skgpu::BulkUsePlotUpdater *, skgpu::MaskFormat, sktext::gpu::Glyph *, skgpu::AtlasToken)
bool preFlush(GrOnFlushResourceProvider *onFlushRP) override
~GrAtlasManager() override
void setUseTokenBulk(const skgpu::BulkUsePlotUpdater &updater, skgpu::AtlasToken token, skgpu::MaskFormat format)
const GrSurfaceProxyView * getViews(skgpu::MaskFormat format, unsigned int *numActiveProxies)
uint64_t atlasGeneration(skgpu::MaskFormat format) const
bool hasGlyph(skgpu::MaskFormat, sktext::gpu::Glyph *)
bool retainOnFreeGpuResources() override
GrDrawOpAtlas::ErrorCode addGlyphToAtlas(const SkGlyph &, sktext::gpu::Glyph *, int srcPadding, GrResourceProvider *, GrDeferredUploadTarget *)
void postFlush(skgpu::AtlasToken startTokenForNextFlush) override
GrAtlasManager(GrProxyProvider *, size_t maxTextureBytes, GrDrawOpAtlas::AllowMultitexturing, bool supportBilerpAtlas)
GrDrawOpAtlas::ErrorCode addToAtlas(GrResourceProvider *, GrDeferredUploadTarget *, skgpu::MaskFormat, int width, int height, const void *image, skgpu::AtlasLocator *)
GrBackendFormat getDefaultBackendFormat(GrColorType, GrRenderable) const
uint64_t atlasGeneration() const
uint32_t numActivePages()
const GrSurfaceProxyView * getViews() const
void setLastUseTokenBulk(const skgpu::BulkUsePlotUpdater &updater, skgpu::AtlasToken token)
const GrCaps * caps() const
uint32_t uint32_t * format
sk_sp< const SkImage > image
static const int kMaskFormatCount
@ kA565
2-bytes per pixel, RGB represent 3-channel LCD coverage
@ kARGB
4-bytes per pixel, color format