Index: src/gpu/GrGpu.cpp |
diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp |
index e2457ce31e4f47325e81ba1c3f744678e1399c24..2815f612d602707c2186d1348d8deca5ba45c426 100644 |
--- a/src/gpu/GrGpu.cpp |
+++ b/src/gpu/GrGpu.cpp |
@@ -334,7 +334,7 @@ bool GrGpu::writePixels(GrSurface* surface, |
int left, int top, int width, int height, |
GrPixelConfig config, const void* buffer, |
size_t rowBytes) { |
- if (!buffer) { |
+ if (!buffer || !surface) { |
return false; |
} |
@@ -346,6 +346,21 @@ bool GrGpu::writePixels(GrSurface* surface, |
return false; |
} |
+bool GrGpu::transferPixels(GrSurface* surface, |
+ int left, int top, int width, int height, |
+ GrPixelConfig config, GrTransferBuffer* buffer, |
+ size_t offset, size_t rowBytes) { |
+ SkASSERT(buffer); |
+ |
+ this->handleDirtyContext(); |
+ if (this->onTransferPixels(surface, left, top, width, height, config, |
+ buffer, offset, rowBytes)) { |
+ fStats.incTransfersToTexture(); |
+ return true; |
+ } |
+ return false; |
+} |
+ |
void GrGpu::resolveRenderTarget(GrRenderTarget* target) { |
SkASSERT(target); |
this->handleDirtyContext(); |