52 if (!desc.isValid()) {
56 fProgramInfoMap.add(desc, programInfo);
62 fProgramInfoMap.toArray(dst);
74 ProgramInfoMap() : fMap(10) {}
82 const CacheValue* preExisting = fMap.find(desc);
87 fMap.insert(desc, programInfo);
91 fMap.foreach([dst](CacheKey* programDesc, CacheValue* programInfo) {
94 dst->emplace_back(std::make_unique<const GrProgramDesc>(*programDesc),
101 uint32_t operator()(CacheKey& desc)
const {
109 ProgramInfoMap fProgramInfoMap;
const GrCaps * caps() const
SK_API GrBackendApi backend() const
void detachProgramData(TArray< ProgramData > *dst) final
GrDDLContext(sk_sp< GrContextThreadSafeProxy > proxy)
void recordProgramInfo(const GrProgramInfo *programInfo) final
void abandonContext() override
static sk_sp< GrRecordingContext > MakeDDL(sk_sp< GrContextThreadSafeProxy >)
GrRecordingContext * context()
void abandonContext() override