| Index: src/gpu/GrGpu.h
|
| diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h
|
| index dd33cff39f166cef5a137208b0783f3ac9c87896..beeb01aced79d1caf4c7e66e72005b03998ca4f2 100644
|
| --- a/src/gpu/GrGpu.h
|
| +++ b/src/gpu/GrGpu.h
|
| @@ -31,6 +31,7 @@ class GrRenderTarget;
|
| class GrStencilAttachment;
|
| class GrSurface;
|
| class GrTexture;
|
| +class GrTransferBuffer;
|
| class GrVertexBuffer;
|
| class GrVertices;
|
|
|
| @@ -128,6 +129,22 @@ public:
|
| */
|
| GrIndexBuffer* createIndexBuffer(size_t size, bool dynamic);
|
|
|
| + enum TransferType {
|
| + kCpuToGpu_TransferType,
|
| + kGpuToCpu_TransferType
|
| + };
|
| +
|
| + /**
|
| + * Creates a transfer buffer.
|
| + *
|
| + * @param size size in bytes of the index buffer
|
| + * @param toGpu true if used to transfer from the cpu to the gpu
|
| + * otherwise to be used to transfer from the gpu to the cpu
|
| + *
|
| + * @return The transfer buffer if successful, otherwise nullptr.
|
| + */
|
| + GrTransferBuffer* createTransferBuffer(size_t size, TransferType type);
|
| +
|
| /**
|
| * Resolves MSAA.
|
| */
|
| @@ -452,6 +469,7 @@ private:
|
| GrWrapOwnership) = 0;
|
| virtual GrVertexBuffer* onCreateVertexBuffer(size_t size, bool dynamic) = 0;
|
| virtual GrIndexBuffer* onCreateIndexBuffer(size_t size, bool dynamic) = 0;
|
| + virtual GrTransferBuffer* onCreateTransferBuffer(size_t size, TransferType type) = 0;
|
|
|
| // overridden by backend-specific derived class to perform the clear.
|
| virtual void onClear(GrRenderTarget*, const SkIRect& rect, GrColor color) = 0;
|
|
|