8#ifndef GrDirectContextPriv_DEFINED
9#define GrDirectContextPriv_DEFINED
50 ctx->fGpu = std::move(gpu);
80 size_t size = proxy ? 1 : 0;
93 std::unique_ptr<GrFragmentProcessor>
createPMToUPMEffect(std::unique_ptr<GrFragmentProcessor>);
94 std::unique_ptr<GrFragmentProcessor>
createUPMToPMEffect(std::unique_ptr<GrFragmentProcessor>);
100 return this->
context()->fResourceProvider.get();
114#if !defined(SK_ENABLE_OPTIMIZE_SIZE)
126 return this->
context()->fPersistentCache;
130 return this->
context()->fMappedBufferManager.get();
135 this->
context()->fInsideReleaseProcCnt++;
138 this->
context()->fInsideReleaseProcCnt--;
142#if defined(GR_TEST_UTILS)
144 void resetGpuStats()
const;
147 void dumpCacheStats(
SkString*)
const;
148 void dumpCacheStatsKeyValuePairs(
150 void printCacheStats()
const;
154 void dumpGpuStatsKeyValuePairs(
156 void printGpuStats()
const;
159 void resetContextStats();
160 void dumpContextStats(
SkString*)
const;
161 void dumpContextStatsKeyValuePairs(
163 void printContextStats()
const;
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
const GrContextOptions & options() const
GrContext_Base * fContext
GrSemaphoresSubmitted flushSurface(GrSurfaceProxy *proxy, SkSurfaces::BackendSurfaceAccess access=SkSurfaces::BackendSurfaceAccess::kNoAccess, const GrFlushInfo &info={}, const skgpu::MutableTextureState *newState=nullptr)
GrResourceProvider * resourceProvider()
void createDDLTask(sk_sp< const GrDeferredDisplayList >, sk_sp< GrRenderTargetProxy > newDest)
skgpu::ganesh::SmallPathAtlasMgr * getSmallPathAtlasMgr()
std::unique_ptr< GrFragmentProcessor > createPMToUPMEffect(std::unique_ptr< GrFragmentProcessor >)
std::unique_ptr< GrFragmentProcessor > createUPMToPMEffect(std::unique_ptr< GrFragmentProcessor >)
void setInsideReleaseProc(bool inside)
SkTaskGroup * getTaskGroup()
GrAtlasManager * getAtlasManager()
bool compile(const GrProgramDesc &, const GrProgramInfo &)
friend class GrDirectContext
GrResourceCache * getResourceCache()
sktext::gpu::StrikeCache * getStrikeCache()
GrClientMappedBufferManager * clientMappedBufferManager()
GrSemaphoresSubmitted flushSurfaces(SkSpan< GrSurfaceProxy * >, SkSurfaces::BackendSurfaceAccess=SkSurfaces::BackendSurfaceAccess::kNoAccess, const GrFlushInfo &={}, const skgpu::MutableTextureState *newState=nullptr)
static void SetGpu(const sk_sp< GrDirectContext > &ctx, std::unique_ptr< GrGpu > gpu)
const GrDirectContext * context() const
bool validPMUPMConversionExists()
const GrResourceProvider * resourceProvider() const
static bool Init(const sk_sp< GrDirectContext > &ctx)
GrDirectContext * context()
GrContextOptions::PersistentCache * getPersistentCache()
static sk_sp< GrDirectContext > Make(GrBackendApi backend, const GrContextOptions &options, sk_sp< GrContextThreadSafeProxy > proxy)
const GrGpu * getGpu() const
friend class GrDirectContextPriv
skgpu::ganesh::SmallPathAtlasMgr * onGetSmallPathAtlasMgr()
GrAtlasManager * onGetAtlasManager()
GrDirectContextPriv priv()
GrRecordingContextPriv(GrRecordingContext *rContext)
uint32_t uint32_t * format
@ kNoAccess
back-end surface will not be used by client
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size