diff options
author | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-02-14 16:51:21 +0000 |
---|---|---|
committer | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-02-14 16:51:21 +0000 |
commit | 1c13c9668a889e56a0c85b51b9f28139c25b76ff (patch) | |
tree | 0319884473e77141a574ab07333c6ed4797f7485 /gpu/include/GrVertexBuffer.h | |
parent | dd53d91b60e368f1bbff6fb22d796765205ae25d (diff) |
Refactor how Gr handles vertex and index data. GrGpu and GrInOrderDrawBuffer both GrBufferAllocPool to manage reserved and set-to-array vertex and index data.
rietveld issue 4188049
git-svn-id: http://skia.googlecode.com/svn/trunk@786 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gpu/include/GrVertexBuffer.h')
-rw-r--r-- | gpu/include/GrVertexBuffer.h | 71 |
1 files changed, 5 insertions, 66 deletions
diff --git a/gpu/include/GrVertexBuffer.h b/gpu/include/GrVertexBuffer.h index 5e83de95d5..3792c15b01 100644 --- a/gpu/include/GrVertexBuffer.h +++ b/gpu/include/GrVertexBuffer.h @@ -18,75 +18,14 @@ #ifndef GrVertexBuffer_DEFINED #define GrVertexBuffer_DEFINED -#include "GrRefCnt.h" +#include "GrGeometryBuffer.h" -class GrVertexBuffer : public GrRefCnt { +class GrVertexBuffer : public GrGeometryBuffer { protected: - GrVertexBuffer(uint32_t sizeInBytes, bool dynamic) : - fSizeInBytes(sizeInBytes), - fDynamic(dynamic) {} -public: - virtual ~GrVertexBuffer() {} - - /** - Retrieves the size of the vertex buffer - - @return the size of the vertex buffer in bytes - */ - uint32_t size() { return fSizeInBytes; } - - /** - Retrieves whether the vertex buffer was created with the dynamic flag - - @return true if the vertex buffer was created with the dynamic flag - */ - bool dynamic() const { return fDynamic; } - - /** - Indicates that GPU context in which this veretx buffer was created is - destroyed and that Ganesh should not attempt to free the texture with the - underlying API. - */ - virtual void abandon() = 0; - - /** - Locks the vertex buffer to be written by the CPU. - - The previous content of the vertex buffer is invalidated. It is an error to - draw whil the buffer is locked. It is an error to call lock on an already - locked vertex buffer. - - @return a pointer to the vertex data or NULL if the lock fails. - */ - virtual void* lock() = 0; - - /** - Unlocks the vertex buffer. - - The pointer returned by the previous lock call will no longer be valid. - */ - virtual void unlock() = 0; - - /** - Queries whether the vertex buffer has been locked. - - @return true if the vertex buffer is locked, false otherwise. - */ - virtual bool isLocked() const = 0; - - /** - Updates the vertex buffer data. - - The size of the vertex buffer will be preserved. However, only the updated - region will have defined contents. - - @return returns true if the update succeeds, false otherwise. - */ - virtual bool updateData(const void* src, uint32_t srcSizeInBytes) = 0; - + GrVertexBuffer(size_t sizeInBytes, bool dynamic) : + INHERITED(sizeInBytes, dynamic) {} private: - uint32_t fSizeInBytes; - bool fDynamic; + typedef GrGeometryBuffer INHERITED; }; #endif |