| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright 2016 Google Inc. | |
| 3 * | |
| 4 * Use of this source code is governed by a BSD-style license that can be | |
| 5 * found in the LICENSE file. | |
| 6 */ | |
| 7 | |
| 8 #include "GrTextureProxy.h" | |
| 9 | |
| 10 #include "GrTextureProvider.h" | |
| 11 #include "GrGpuResourcePriv.h" | |
| 12 | |
| 13 GrTextureProxy::GrTextureProxy(sk_sp<GrTexture> tex) | |
| 14 : INHERITED(tex->desc(), SkBackingFit::kExact, tex->resourcePriv().isBudgete
d()) | |
| 15 , fTexture(std::move(tex)) { | |
| 16 } | |
| 17 | |
| 18 GrTexture* GrTextureProxy::instantiate(GrTextureProvider* texProvider) { | |
| 19 if (fTexture) { | |
| 20 return fTexture.get(); | |
| 21 } | |
| 22 | |
| 23 if (SkBackingFit::kApprox == fFit) { | |
| 24 fTexture.reset(texProvider->createApproxTexture(fDesc)); | |
| 25 } else { | |
| 26 fTexture.reset(texProvider->createTexture(fDesc, fBudgeted)); | |
| 27 } | |
| 28 | |
| 29 return fTexture.get(); | |
| 30 } | |
| 31 | |
| 32 sk_sp<GrTextureProxy> GrTextureProxy::Make(const GrSurfaceDesc& desc, | |
| 33 SkBackingFit fit, | |
| 34 SkBudgeted budgeted, | |
| 35 const void* srcData, | |
| 36 size_t rowBytes) { | |
| 37 // TODO: handle 'srcData' (we could use the wrapped version if there is data
) | |
| 38 SkASSERT(!srcData && !rowBytes); | |
| 39 return sk_sp<GrTextureProxy>(new GrTextureProxy(desc, fit, budgeted, srcData
, rowBytes)); | |
| 40 } | |
| 41 | |
| 42 sk_sp<GrTextureProxy> GrTextureProxy::Make(sk_sp<GrTexture> tex) { | |
| 43 return sk_sp<GrTextureProxy>(new GrTextureProxy(tex)); | |
| 44 } | |
| OLD | NEW |