Index: src/gpu/gl/GrGLBuffer.h |
diff --git a/src/gpu/gl/GrGLBuffer.h b/src/gpu/gl/GrGLBuffer.h |
index 90d2c43dfac2c969af240905c16bb48ed0162c44..b3b4feb00273bbc33733d58265e79f382cd46ec9 100644 |
--- a/src/gpu/gl/GrGLBuffer.h |
+++ b/src/gpu/gl/GrGLBuffer.h |
@@ -16,19 +16,20 @@ class GrGLCaps; |
class GrGLBuffer : public GrBuffer { |
public: |
- static GrGLBuffer* Create(GrGLGpu*, GrBufferType, size_t size, GrAccessPattern); |
+ static GrGLBuffer* Create(GrGLGpu*, size_t size, GrBufferType intendedType, GrAccessPattern, |
+ const void* data = nullptr); |
~GrGLBuffer() { |
// either release or abandon should have been called by the owner of this object. |
SkASSERT(0 == fBufferID); |
} |
- GrGLenum target() const { return fTarget; } |
GrGLuint bufferID() const { return fBufferID; } |
size_t baseOffset() const { return reinterpret_cast<size_t>(fCPUData); } |
protected: |
- GrGLBuffer(GrGLGpu*, GrBufferType, size_t size, GrAccessPattern, bool cpuBacked); |
+ GrGLBuffer(GrGLGpu*, size_t size, GrBufferType intendedType, GrAccessPattern, bool cpuBacked, |
+ const void* data); |
void onAbandon() override; |
void onRelease() override; |
@@ -47,13 +48,13 @@ private: |
void validate() const; |
#endif |
- void* fCPUData; |
- GrGLenum fTarget; // GL_ARRAY_BUFFER or GL_ELEMENT_ARRAY_BUFFER, e.g. |
- GrGLuint fBufferID; |
- size_t fSizeInBytes; |
- GrGLenum fUsage; |
- size_t fGLSizeInBytes; // In certain cases we make the size of the GL buffer object |
- // smaller or larger than the size in fDesc. |
+ void* fCPUData; |
+ GrBufferType fIntendedType; |
+ GrGLuint fBufferID; |
+ size_t fSizeInBytes; |
+ GrGLenum fUsage; |
+ size_t fGLSizeInBytes; // In certain cases we make the size of the GL buffer object |
+ // smaller or larger than the size in fDesc. |
typedef GrBuffer INHERITED; |
}; |