Index: src/gpu/GrGpu.h |
diff --git a/src/gpu/GrGpu.h b/src/gpu/GrGpu.h |
index b3251dc14fa6bc2ca03a37f89d7cdda6ff16b56b..c56f60b75a149bc6e24fb9ced64f6d7071f35013 100644 |
--- a/src/gpu/GrGpu.h |
+++ b/src/gpu/GrGpu.h |
@@ -61,6 +61,12 @@ public: |
GrPathRendering* pathRendering() { return fPathRendering.get(); } |
+ /** |
+ * Called by GrContext once the resource cache has been initialized. Any GrGpuResource objects |
+ * owned by the sublcass need to be initialized here instead of in the constructor. |
+ */ |
+ virtual void initGpuResources(); |
+ |
enum class DisconnectType { |
// No cleanup should be attempted, immediately cease making backend API calls |
kAbandon, |
@@ -135,9 +141,13 @@ public: |
/** |
* Creates a buffer. |
* |
+ * @param size size of buffer to create. |
+ * @param intendedType hint to the graphics subsystem about what the buffer will be used for. |
+ * @param accessPattern hint to the graphics subsystem about how the data will be accessed. |
+ * |
* @return the buffer if successful, otherwise nullptr. |
*/ |
- GrBuffer* createBuffer(GrBufferType, size_t size, GrAccessPattern); |
+ GrBuffer* createBuffer(size_t size, GrBufferType intendedType, GrAccessPattern accessPattern); |
/** |
* Resolves MSAA. |
@@ -533,7 +543,7 @@ private: |
virtual GrRenderTarget* onWrapBackendRenderTarget(const GrBackendRenderTargetDesc&, |
GrWrapOwnership) = 0; |
virtual GrRenderTarget* onWrapBackendTextureAsRenderTarget(const GrBackendTextureDesc&) = 0; |
- virtual GrBuffer* onCreateBuffer(GrBufferType, size_t size, GrAccessPattern) = 0; |
+ virtual GrBuffer* onCreateBuffer(size_t size, GrBufferType intendedType, GrAccessPattern) = 0; |
// overridden by backend-specific derived class to perform the clear. |
virtual void onClear(GrRenderTarget*, const SkIRect& rect, GrColor color) = 0; |