Add a deferred copy surface
authorRobert Phillips <robertphillips@google.com>
Tue, 13 Dec 2016 14:01:40 +0000 (09:01 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Tue, 13 Dec 2016 17:57:13 +0000 (17:57 +0000)
commit4431de6af930a8638c194b072558ea3a4b79d908
tree49a3f17bb0abc6fcb43d8c7ce58061e0bb9822a7
parent36aa176d0d32f9cea3d1998fac3c295d31e1d596
Add a deferred copy surface

This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext).

There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added.

Change-Id: Iab1867668d8146a766201158a251b9174438ee2b
Reviewed-on: https://skia-review.googlesource.com/5773
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
23 files changed:
gm/image_pict.cpp
include/gpu/GrContext.h
include/gpu/GrRenderTargetContext.h
include/gpu/GrSurfaceContext.h
include/gpu/GrTextureContext.h
include/private/GrRenderTargetProxy.h
include/private/GrSurfaceProxy.h
src/core/SkSpecialImage.cpp
src/gpu/GrContext.cpp
src/gpu/GrContextPriv.h
src/gpu/GrRenderTargetContext.cpp
src/gpu/GrRenderTargetContextPriv.h
src/gpu/GrRenderTargetProxy.cpp
src/gpu/GrSurfaceProxy.cpp
src/gpu/GrTextureContext.cpp
src/gpu/SkGpuDevice.cpp
src/image/SkImage_Gpu.cpp
src/image/SkSurface_Gpu.cpp
tests/CopySurfaceTest.cpp
tests/EGLImageTest.cpp
tests/GrTextureStripAtlasTest.cpp
tests/IntTextureTest.cpp
tests/RectangleTextureTest.cpp