static sk_sp<GrTextureProxy> wrapped(skiatest::Reporter* reporter, GrContext* ctx, GrProxyProvider* proxyProvider, SkBackingFit fit) { const GrSurfaceDesc desc = make_desc(kNone_GrSurfaceFlags); sk_sp<GrTextureProxy> proxy = proxyProvider->testingOnly_createInstantiatedProxy( desc, kBottomLeft_GrSurfaceOrigin, fit, SkBudgeted::kYes); // Only budgeted & wrapped external proxies get to carry uniqueKeys REPORTER_ASSERT(reporter, !proxy->getUniqueKey().isValid()); return proxy; }
static sk_sp<GrTextureProxy> deferred_texRT(skiatest::Reporter* reporter, GrContext* ctx, GrProxyProvider* proxyProvider, SkBackingFit fit) { const GrSurfaceDesc desc = make_desc(kRenderTarget_GrSurfaceFlag); GrBackendFormat format = ctx->priv().caps()->getBackendFormatFromColorType(kRGBA_8888_SkColorType); sk_sp<GrTextureProxy> proxy = proxyProvider->createProxy(format, desc, kBottomLeft_GrSurfaceOrigin, fit, SkBudgeted::kYes); // Only budgeted & wrapped external proxies get to carry uniqueKeys REPORTER_ASSERT(reporter, !proxy->getUniqueKey().isValid()); return proxy; }
static sk_sp<GrTextureProxy> wrapped_with_key(skiatest::Reporter* reporter, GrContext* ctx, GrProxyProvider* proxyProvider, SkBackingFit fit) { static GrUniqueKey::Domain d = GrUniqueKey::GenerateDomain(); static int kUniqueKeyData = 0; GrUniqueKey key; GrUniqueKey::Builder builder(&key, d, 1, nullptr); builder[0] = kUniqueKeyData++; builder.finish(); const GrSurfaceDesc desc = make_desc(kNone_GrSurfaceFlags); // Only budgeted & wrapped external proxies get to carry uniqueKeys sk_sp<GrTextureProxy> proxy = proxyProvider->testingOnly_createInstantiatedProxy( desc, kBottomLeft_GrSurfaceOrigin, fit, SkBudgeted::kYes); SkAssertResult(proxyProvider->assignUniqueKeyToProxy(key, proxy.get())); REPORTER_ASSERT(reporter, proxy->getUniqueKey().isValid()); return proxy; }
static sk_sp<GrTextureProxy> create_wrapped_backend(GrContext* context, SkBackingFit fit, sk_sp<GrTexture>* backingSurface) { GrProxyProvider* proxyProvider = context->priv().proxyProvider(); GrResourceProvider* resourceProvider = context->priv().resourceProvider(); const GrSurfaceDesc desc = make_desc(kNone_GrSurfaceFlags); *backingSurface = resourceProvider->createTexture(desc, SkBudgeted::kNo, GrResourceProvider::Flags::kNoPendingIO); if (!(*backingSurface)) { return nullptr; } GrBackendTexture backendTex = (*backingSurface)->getBackendTexture(); backendTex.setPixelConfig(desc.fConfig); return proxyProvider->wrapBackendTexture(backendTex, kBottomLeft_GrSurfaceOrigin, kBorrow_GrWrapOwnership, GrWrapCacheable::kYes, kRead_GrIOType); }
static int update_info(playa_info_t *info, disk68_t *d, music68_t *mus, char *tmp) { /* SDDEBUG("update info [%p] [%p]\n", d, mus); */ info->update_mask = 0; if (!d) { return -1; } if (!mus) { mus = d->mus + d->default_six; } /* SDDEBUG("update info\n"); */ playa_info_time(info, mus->time << 10); playa_info_desc(info, make_desc(mus,tmp)); playa_info_artist(info, make_author(mus,tmp)); playa_info_track(info, make_track(d,tmp)); playa_info_title(info, mus->name); return 0; }