aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image/SkImage_Gpu.cpp
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-05-10 12:06:26 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-11 18:07:20 +0000
commit85d34b2e841d99dab914111fe2eaa4db99345e1e (patch)
treee5f7e81602d89c608fc72b0d84827cdfcd154d60 /src/image/SkImage_Gpu.cpp
parent97627d4434d4f559bd2ccf2235b5d75366add4dd (diff)
Remove SkCrossContextImageData and all support code
Bug: skia: Change-Id: I8eb8cef5456c05a8e314d8404698893c7af82d13 Reviewed-on: https://skia-review.googlesource.com/16368 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/image/SkImage_Gpu.cpp')
-rw-r--r--src/image/SkImage_Gpu.cpp62
1 files changed, 1 insertions, 61 deletions
diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp
index 9bb98fbf10..474054378f 100644
--- a/src/image/SkImage_Gpu.cpp
+++ b/src/image/SkImage_Gpu.cpp
@@ -27,7 +27,6 @@
#include "effects/GrNonlinearColorSpaceXformEffect.h"
#include "effects/GrYUVEffect.h"
#include "SkCanvas.h"
-#include "SkCrossContextImageData.h"
#include "SkBitmapCache.h"
#include "SkGr.h"
#include "SkImage_Gpu.h"
@@ -268,8 +267,7 @@ static sk_sp<SkImage> new_wrapped_texture_common(GrContext* ctx,
tex->setRelease(releaseProc, releaseCtx);
}
- const SkBudgeted budgeted = (kAdoptAndCache_GrWrapOwnership == ownership)
- ? SkBudgeted::kYes : SkBudgeted::kNo;
+ const SkBudgeted budgeted = SkBudgeted::kNo;
sk_sp<GrTextureProxy> proxy(GrSurfaceProxy::MakeWrapped(std::move(tex)));
return sk_make_sp<SkImage_Gpu>(ctx, kNeedNewImageUniqueID,
at, std::move(proxy), std::move(colorSpace), budgeted);
@@ -502,64 +500,6 @@ sk_sp<SkImage> SkImage::MakeCrossContextFromEncoded(GrContext* context, sk_sp<Sk
return SkImage::MakeFromGenerator(std::move(gen));
}
-std::unique_ptr<SkCrossContextImageData> SkCrossContextImageData::MakeFromEncoded(
- GrContext* context, sk_sp<SkData> encoded, SkColorSpace* dstColorSpace) {
- sk_sp<SkImage> codecImage = SkImage::MakeFromEncoded(std::move(encoded));
- if (!codecImage) {
- return nullptr;
- }
-
- // Some backends or drivers don't support (safely) moving resources between contexts
- if (!context->caps()->crossContextTextureSupport()) {
- return std::unique_ptr<SkCrossContextImageData>(
- new SkCCIDImage(std::move(codecImage)));
- }
-
- sk_sp<SkImage> textureImage = codecImage->makeTextureImage(context, dstColorSpace);
- if (!textureImage) {
- // TODO: Force decode to raster here? Do mip-mapping, like getDeferredTextureImageData?
- return std::unique_ptr<SkCrossContextImageData>(
- new SkCCIDImage(std::move(codecImage)));
- }
-
- // Crack open the gpu image, extract the backend data, stick it in the SkCCID
- GrTexture* texture = as_IB(textureImage)->peekTexture();
- SkASSERT(texture);
-
- context->contextPriv().prepareSurfaceForExternalIO(as_IB(textureImage)->peekProxy());
- auto textureData = texture->texturePriv().detachBackendTexture();
- SkASSERT(textureData);
-
- GrBackend backend = context->contextPriv().getBackend();
- GrBackendTexture backendTex = make_backend_texture_from_handle(backend,
- texture->width(),
- texture->height(),
- texture->config(),
- textureData->getBackendObject());
-
- SkImageInfo info = as_IB(textureImage)->onImageInfo();
- return std::unique_ptr<SkCrossContextImageData>(new SkCCIDBackendTexture(
- backendTex, texture->origin(), std::move(textureData),
- info.alphaType(), info.refColorSpace()));
-}
-
-sk_sp<SkImage> SkCCIDBackendTexture::makeImage(GrContext* context) {
- if (fTextureData) {
- fTextureData->attachToContext(context);
- }
-
- // This texture was created by Ganesh on another thread (see MakeFromEncoded, above).
- // Thus, we can import it back into our cache and treat it as our own (again).
- GrWrapOwnership ownership = kAdoptAndCache_GrWrapOwnership;
- return new_wrapped_texture_common(context, fBackendTex, fOrigin, fAlphaType,
- std::move(fColorSpace), ownership, nullptr, nullptr);
-}
-
-sk_sp<SkImage> SkImage::MakeFromCrossContextImageData(
- GrContext* context, std::unique_ptr<SkCrossContextImageData> ccid) {
- return ccid->makeImage(context);
-}
-
sk_sp<SkImage> SkImage::makeNonTextureImage() const {
if (!this->isTextureBacked()) {
return sk_ref_sp(const_cast<SkImage*>(this));