Index: src/gpu/GrGpu.h |
diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h |
index 4e9b247ca3dd9596e58f117c284ab0d694eb4c42..a49b2c28fd9802c41749912c7bf84792f0ef0be5 100644 |
--- a/src/gpu/GrGpu.h |
+++ b/src/gpu/GrGpu.h |
@@ -20,9 +20,9 @@ |
#include "SkTArray.h" |
class GrBatchTracker; |
+class GrBuffer; |
class GrContext; |
class GrGLContext; |
-class GrIndexBuffer; |
class GrMesh; |
class GrNonInstancedVertices; |
class GrPath; |
@@ -36,8 +36,6 @@ class GrRenderTarget; |
class GrStencilAttachment; |
class GrSurface; |
class GrTexture; |
-class GrTransferBuffer; |
-class GrVertexBuffer; |
class GrGpu : public SkRefCnt { |
public: |
@@ -129,39 +127,11 @@ public: |
GrRenderTarget* wrapBackendTextureAsRenderTarget(const GrBackendTextureDesc&, GrWrapOwnership); |
/** |
- * Creates a vertex buffer. |
+ * Creates a buffer. |
* |
- * @param size size in bytes of the vertex buffer |
- * @param dynamic hints whether the data will be frequently changed |
- * by either GrVertexBuffer::map() or |
- * GrVertexBuffer::updateData(). |
- * |
- * @return The vertex buffer if successful, otherwise nullptr. |
- */ |
- GrVertexBuffer* createVertexBuffer(size_t size, bool dynamic); |
- |
- /** |
- * Creates an index buffer. |
- * |
- * @param size size in bytes of the index buffer |
- * @param dynamic hints whether the data will be frequently changed |
- * by either GrIndexBuffer::map() or |
- * GrIndexBuffer::updateData(). |
- * |
- * @return The index buffer if successful, otherwise nullptr. |
- */ |
- GrIndexBuffer* createIndexBuffer(size_t size, bool dynamic); |
- |
- /** |
- * 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. |
+ * @return the buffer if successful, otherwise nullptr. |
*/ |
- GrTransferBuffer* createTransferBuffer(size_t size, TransferType type); |
+ GrBuffer* createBuffer(GrBufferType, size_t size, GrAccessPattern); |
/** |
* Resolves MSAA. |
@@ -298,22 +268,22 @@ public: |
size_t rowBytes); |
/** |
- * Updates the pixels in a rectangle of a surface using a GrTransferBuffer |
+ * Updates the pixels in a rectangle of a surface using a buffer |
* |
- * @param surface The surface to write to. |
- * @param left left edge of the rectangle to write (inclusive) |
- * @param top top edge of the rectangle to write (inclusive) |
- * @param width width of rectangle to write in pixels. |
- * @param height height of rectangle to write in pixels. |
- * @param config the pixel config of the source buffer |
- * @param buffer GrTransferBuffer to read pixels from |
- * @param offset offset from the start of the buffer |
- * @param rowBytes number of bytes between consecutive rows. Zero |
- * means rows are tightly packed. |
+ * @param surface The surface to write to. |
+ * @param left left edge of the rectangle to write (inclusive) |
+ * @param top top edge of the rectangle to write (inclusive) |
+ * @param width width of rectangle to write in pixels. |
+ * @param height height of rectangle to write in pixels. |
+ * @param config the pixel config of the source buffer |
+ * @param transferBuffer GrBuffer to read pixels from (type must be "kCpuToGpu") |
+ * @param offset offset from the start of the buffer |
+ * @param rowBytes number of bytes between consecutive rows. Zero |
+ * means rows are tightly packed. |
*/ |
bool transferPixels(GrSurface* surface, |
int left, int top, int width, int height, |
- GrPixelConfig config, GrTransferBuffer* buffer, |
+ GrPixelConfig config, GrBuffer* transferBuffer, |
size_t offset, size_t rowBytes); |
/** |
@@ -558,9 +528,7 @@ private: |
GrWrapOwnership) = 0; |
virtual GrRenderTarget* onWrapBackendTextureAsRenderTarget(const GrBackendTextureDesc&, |
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; |
+ virtual GrBuffer* onCreateBuffer(GrBufferType, size_t size, GrAccessPattern) = 0; |
// overridden by backend-specific derived class to perform the clear. |
virtual void onClear(GrRenderTarget*, const SkIRect& rect, GrColor color) = 0; |
@@ -602,7 +570,7 @@ private: |
// overridden by backend-specific derived class to perform the surface write |
virtual bool onTransferPixels(GrSurface*, |
int left, int top, int width, int height, |
- GrPixelConfig config, GrTransferBuffer* buffer, |
+ GrPixelConfig config, GrBuffer* transferBuffer, |
size_t offset, size_t rowBytes) = 0; |
// overridden by backend-specific derived class to perform the resolve |