Remove SkDevice::accessRenderTarget virtual
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2167723002
Review-Url: https://codereview.chromium.org/2167723002
diff --git a/src/image/SkSurface_Gpu.cpp b/src/image/SkSurface_Gpu.cpp
index 5b4bfaf..5d1555f 100644
--- a/src/image/SkSurface_Gpu.cpp
+++ b/src/image/SkSurface_Gpu.cpp
@@ -40,9 +40,9 @@
}
// Grab the render target *after* firing notifications, as it may get switched if CoW kicks in.
- GrRenderTarget* rt = surface->getDevice()->accessRenderTarget();
- rt->prepareForExternalIO();
- return rt;
+ surface->getDevice()->flush();
+ GrDrawContext* dc = surface->getDevice()->accessDrawContext();
+ return dc->accessRenderTarget();
}
GrBackendObject SkSurface_Gpu::onGetTextureHandle(BackendHandleAccess access) {
@@ -76,7 +76,7 @@
}
sk_sp<SkImage> SkSurface_Gpu::onNewImageSnapshot(SkBudgeted budgeted, ForceCopyMode forceCopyMode) {
- GrRenderTarget* rt = fDevice->accessRenderTarget();
+ GrRenderTarget* rt = fDevice->accessDrawContext()->accessRenderTarget();
SkASSERT(rt);
GrTexture* tex = rt->asTexture();
SkAutoTUnref<GrTexture> copy;
@@ -109,7 +109,7 @@
// render target into it. Note that this flushes the SkGpuDevice but
// doesn't force an OpenGL flush.
void SkSurface_Gpu::onCopyOnWrite(ContentChangeMode mode) {
- GrRenderTarget* rt = fDevice->accessRenderTarget();
+ GrRenderTarget* rt = fDevice->accessDrawContext()->accessRenderTarget();
// are we sharing our render target with the image? Note this call should never create a new
// image because onCopyOnWrite is only called when there is a cached image.
sk_sp<SkImage> image(this->refCachedImage(SkBudgeted::kNo, kNo_ForceUnique));
@@ -127,7 +127,7 @@
}
void SkSurface_Gpu::onPrepareForExternalIO() {
- fDevice->accessRenderTarget()->prepareForExternalIO();
+ fDevice->flush();
}
///////////////////////////////////////////////////////////////////////////////