static GrPath* get_gr_path(GrGpu* gpu, const SkPath& skPath, const SkStrokeRec& stroke) { GrContext* ctx = gpu->getContext(); GrResourceKey resourceKey = GrPath::ComputeKey(skPath, stroke); SkAutoTUnref<GrPath> path(static_cast<GrPath*>(ctx->findAndRefCachedResource(resourceKey))); if (NULL == path || !path->isEqualTo(skPath, stroke)) { path.reset(gpu->pathRendering()->createPath(skPath, stroke)); ctx->addResourceToCache(resourceKey, path); } return path.detach(); }