Add a deferred copy surface (take 2)
authorRobert Phillips <robertphillips@google.com>
Tue, 13 Dec 2016 20:29:42 +0000 (15:29 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Tue, 13 Dec 2016 22:01:58 +0000 (22:01 +0000)
commit398487a850431cf495330d4023607df5305a311f
tree7ab227c99eaab21554428f7a94e0c2df67be009a
parent24f19780d1e76595c049d8cad4352de839cfc6b5
Add a deferred copy surface (take 2)

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.

This is a reland of https://skia-review.googlesource.com/c/5773/ (Add a deferred copy surface)

Change-Id: Ide560f569aede5e622420dc2f30eef76357d69f4
Reviewed-on: https://skia-review.googlesource.com/5939
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@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