aboutsummaryrefslogtreecommitdiffhomepage
path: root/gpu/include/GrVertexBuffer.h
diff options
context:
space:
mode:
authorGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-02-14 16:51:21 +0000
committerGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-02-14 16:51:21 +0000
commit1c13c9668a889e56a0c85b51b9f28139c25b76ff (patch)
tree0319884473e77141a574ab07333c6ed4797f7485 /gpu/include/GrVertexBuffer.h
parentdd53d91b60e368f1bbff6fb22d796765205ae25d (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.h71
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